Télécharger le zip
oubliez pas de commenter et de noter cette sources ;-)ça sert toujours aux développeurs
euh j'avais oublié la propriété Pattern bien pratique du FileListBox...donc voilà j'ai remédié au problème....pour l'utilsation vous êtes libre.pattern = "*.*"ou .pattern = "*.mp3"ou.pattern = "*.mp3;*.avi"ou .pattern = "*.mp3*.avi"enfin bref l'inportant est d'avoir *.extentionc'est juste histoire d'avoir cette propriété afin de pouvoir filtrer les fichiers listés......
petite modif de dernière minute afin de rajouter l'overlay sur les raccourcis (le petit machin en bas a gauche de l'icone d'un raccourci)
message original de azerty25-------------------------------------------------------------------------------------Waouw, déja fini lol ! J'ai meme pas eu le temps de commencer le mien !! Mais bon, j'aurai pas fait un truc aussi compliqué. IL faudrai que tu integre le menu contextuel, sa serai bien mais pas si simple, également le support des click-------------------------------------------------------------------------------------à étudier, pourquoi pas, j'ai bien eut ton MP je vais jeter un coup d'oeil à ton source dès que j'aurai 5 mintues.......
Oui j'ai en effet commencé mais pas réussi à faire fonctionner le code du menu contextuel
C'est vraiment bien mais niveau rapidité il faut encore ameliorerje met plus de 2 secondes pour afficher le repertoire c:\windows\font@+
Vraiment bien. Moi aussi, je travaille sur le code de Renfield qui est une mine d'innovations. - Quelqu'un sait-il comment récupérer facilement le PIDL d'un fichier à partir de son path ? Je cherche à spécifier une racine d'arborescence arbitraire, à partir de son path.
>>EBArtSoft défrag ton disk!!!!!!! chez moi c'est bien rapide!!!!! faut dire aussi ke j'ai formaté y a 2 semaines ;-)sinon, j'ai failli m'énerver sur toi pensant que c'était toi qui avait fait chuter ma note mais.....généralement je suis pas méchant donc j'ai vérifié un truc.......vu ke tu es admin c'est pas toi qui l'a faite chuter....;-)Donc , que celui qui l'a fait m'explique pourquoi!!!!!!(sinon , je suis sérieux EBArtSoft, défrag, il est grand tant!!!! lol )
bon et bien voilà, pour ce qui ne défrag pa souvent leur disk ;-) j'ai rajouté une propriétée Sorted en Boolean histoire de trier (ou pas) les fichiers par ordre alphabétique....EBArtSoft teste ...je vois une légère différence sur le rep c:\windows\help mais bon les délais sont tout à fait raisonable en ce qui me concerne!!!Quant au rep font.....c'est rapide (j'en ai peut etre moins que toi ....mais mon c:\windows\help fait tout de même 511 fichiers et je t'assure que je mets moins de 2 secondes!!!)
donc voilà, l'intégration du menu contextuel est faite...c'est une première approche...il permet de faire ce que vous voulez en clique droit depuis le FileExplorer...toutefois je dis première approche car je n'est pas encore fait le raffraichissement automatique tu FileExplorer après execution de la procédure...en effet il ne suffit pas de rappeler la fonction InitTree ; en effet certaine procédure on un certain temps d'application genre ajout dans une archive de type zip ou rar etc....enfin bref c'est une première approche comme je dis...mais le reste viendra bientot...de même que le fait de pouvoir sélectionner plusieurs fichiers pour justement les ajouter dans une archive.....et d'autre encore mais bon , ça fait seulement 2 soirs que je suis sur cet ocx donc un peu de patience svp....sinon , pour ce qui ne veulent pas du menu contextuel ou des autres options (futur ;-) ) gérées automatiquement par l'ocx c'est tout a fait possible...par l'intermédiaire de la propriétée Comportement prenant 2 valeurs possible : ComportManual ou ComportAuto. Comme le nom l'indique, c'est en choisissant ComportManual que l'on supprime toute gestion automatique de l'ocx et inversement....voilà j'espère ne pas avoir fait ça pour rien et que cela va intéresser du monde! (ça c'est un message subliminal pour dire : dites ce que vous pensez de ce source LOL )
C'est bien bien ton projet :) Mais je t'avai mis une fonction dans le ZIP pour ouvrir les fichiers lors du clik et apparament tu l'a pas repris. Mais je ne comprend toujours pas comment on fait apparaitre le menu contextuel, tu peut m'expliquer en résumé ? :)
>> azerty25j'ai essayé par tous les moyens d'ouvrir le projet que tu m'as filé.... (en gros le mien auquel tu as voulu rajouter tes trucs perso, je suis à 100% pour ce type de démarche ) mais j'ai jamais pu l'ouvrir....plein de message en pagaille a cause de l'ocx que tu as voulu rajouter....des déclarations en double .....et autre...enfin bref....pour le coup de l'ouverture du fichier par click, et bien maintenant t'as cas faire un click droit puis ouvrir lol...non t'en fait pas, je le ferai...pas dans le click mais dans le double click..mais ce sera fait....comme j'ai dit , ça fait seulement 2 soirées que je suis sur ce projet...ça viendra....sinon pour le menu contextuel et bien déjà:En tout premier lieu, pour commencé ;-) ......le source que tu as récupéré comme exemple fonctionne pour des ListBox (DirListBox ou FileListBox ou ListBox tout court)...donc tous les messages envoyés, genre pour faire un test de l'index dans la liste pointé par la souris ne sont pas applicable pour mon ocx étant donné que la liste est créée a partir d'un TreeView...Après et bien ...comment te dire....euh....MSDN....;-)Car pour t'expliquer le fonction des pidlfq , pidlrel , IShellFolder ça prendrait un peu de temps...le plus simple pour déjà avoir une première idée, c'est que tu regardes, dans la fonction InsertFile toute à la fin les valeur que prennent:tvid.pidlFQ, tvid.pidlRel , tvid.Path, tvid.lParam et tvid.hNode tu as cas faire un debug.print de chaque valeur et rajoute aussi:debug.print GetPathFromPIDL(tvid.pidlRel) histoire que tu vois bien la différence entre Rel et FQ (fq = fully qualified rel = related)voilà et bon courage!
Oué c bien, ce que je disai lol, c'est un peu compliqué pour moi pour l'instant,. Le mieux serai un tres bon tuto en francais :)Merci pour tes infos et cet OCX
bon et bien voilà...l'update pour le raffraichissement automatique du FileExplorer lorsqu'une modif de fichier est effectuée à l'interieur du répertoire parent...le principe est basé sur une class de Renfield reprise à ma sauce façon control avec timer histoire d'avoir "un peu plus la main"...et t'en fait pas azerty25 avant que tu me le diz une nouvelle fois, je vais faire l'opion doucle click sur fichier ;-)allez Bin Dev à tous et à plus tard pour de nouvelles aventures
J'ai rien dit :p lol
Petite UpDate.....mais pas inutile je pense ;-)Jusqu'à présent il n'était pas possible de récupérer le nom du fichier sélectionné dans le FileExplorer.......et personne ne me l'a dit LOLenfin voilà....;maintentant vous pouvez faire :FileExplorer.SelectedFile pour connaitre le nom du fichier sélectionnéFileExplorer.FileCount pour savoir combien il y a de fichier dans le FileExploreret enfin:FileExplorer.File(i) pour récupérer le nom du Ième fichie dans la listeainsi vous pourvez faire par exmple:For i = 0 to FileExplorer.FileCount -1 List1.Additem FileExplorer.File(i)Next
Salut, c'est moi ;)Je voudrai utiliser ton projet mais sa ne fonctionne pas, je veux ajouter directement l'ocx dans mon projet, mais quand j'ajoute les OCX sur la form, vb plante :(Sinon, quand j'ouvre ton projet, il trouve pas l'oCX alorq qu'il est bien dans le ZIP (le répertoire est pourant le bon dans le message d'erreur), je met alors continuer. Apres il me dit erreur de chargement de form1, voir logs blabla, et apres, quand j'éxécute, il me pointe la ligne la comme "invalid procedure call or argument" : Set tvid = mTVItems(CStr(nmtv.itemOld.lParam))Si tu trouverai ou est le probleme, sa serait super car moi pas comprendre projets de toi et Renfield lol
j'ai testé l'ocx du zip, il y a aucun problème pour l'ajouter dans un nouveau projet...vérifie bien que tu mets le controle représenté par l'icone du personnage sur fond orange...et pas le filenotifier
Des que je met le perso orange, VB rame qq secondes puis fini par cracher :( Il fait une demande d'envoi de rapport d'erreur
tu as installé les services pack visual studio?
Eu non, je vais essayer alors ;)
Rien n'y fait, sa bug toujours autant :(
Même problême qu'azerty25
la version en téléchargement est kelke pe ancienne j'ai du faire des modif de temps a autre...peut etre ke tout cela sera corrigé kan je mettrai le source a jour mais pour pas encore car je bosse sur un projet utilisant ce controle et je le modifie régulièrement pour mes besoins....dès ke je jugerai ne plus a voir de modif majeur a effectuer sur ce controle je vous le mettrai a jour....je crois k'en effet j'ai du rencontrer ce pb a un moment ou un autre......vous en faites pas la MAJ va arrivé sous peu...
voici la mise à jour avec un peu de retard mais bon...j'espere ke vo problème seront corrigés....
Bravo à toi pour ce source! Par contre c'est le bordel dans le zip, et un débutant ne s'y retrouve pas automatiquement!10/10
Toujours pareil :(
je ne vais pas parler de bordel, mais Urgo a en partie raison: je suis débutant en visual basic (pas en VBA - Access que je programmes depuis des années) et je n'arrives pas à faire marcher le code.Au chargement de Group1.vbg j'ai un message d'erreurs qui dit qu'il n'arrive pas a trouver DirExplorer.ocx (comme chez azerty25).Je pense que le probleme se situe effectivement seulement aux déclarations dans VisualBasic de ces bibliotheques?Peut etre que tu pourrais (ou Urgo?) juste nous donner un petit coup de main pour debutant au niveau de ces declaration? Merci.
Vu que tout le monde n'arrive pas à le faire marche, je vais vite faire un zip avec tout dedans trié ;)
J'ai essayé 40000 fois, j'ai jamais vraiment réussi :(J'ai en effet le probleme de l'OCX, je l'joute donc en référence, le code démarre correctement lors du clik sur démarrage, puis ensuite, j'ai l'erreur que j'ai mentionnée plus haut. Tout ça dans le projet dans le ZIP. Pour ce qui est du "bordel", je pense pas que sa en sois vraiment un, il pouvait pour des raisons de commodité pas vraiment faire mieux (regardez certaines sources en DirectX, des jeux, vous comprendrez qu'a coté c'est rien) ;)
Voilà un fichier rar tout beau pour vous :)http://membres.lycos.fr/teamapo/ICI/-> C'est le fichier "FileExplorer_OK.rar"Ciao ;)Urgo pour vous servir :p
Bon les gars, je vous en veut pas, j'ai pas de dent contre vous, au contraire, mais meme ton zip ne fonctionne pas, VB charge, charge, puis, plouf. Demande d'envoi de rapport ... :( Je commence à me demander si mon PC ne devient pas fou la :( lolNon mais sérieu, vous avez qq chose d'installé qui est particulier ? Service Pack, version de VB ? Quel Windows ? Moi je suis sous XP (FR), version de VB6 : 8176 anglais, pas de service pak pour VB, Word97 (FR), pas de service pack de Windows.
Moi j'ai XP Pro SP1, VB6 (SP6!) d'installé ;)Essai d'installer le dernier service pack de VB si tu l'as pas.Sinon sur mon PC j'ai aussi Visual Studio .NET 2003 Enterprise Architect (mais il est inutile pour faire fonctionner le programme ici lol)
Avec le SP6, c'est encore et toujours le même probleme. Je commence à désesperer :(Je sais pas de quoi sa peut bien venir, de la ligne que j'ai indiqué plus haut ?! Mais la source des plantages, ne viendrait-elle pas de l'utilisation des API d'acces en mémoire ? MoveMemory, Fill ... (VB ne supporte pas ces API et tout ce qui concerne les threads, sub classing ...)
Je ne vois pas d'ou peut venir le problème...yomm je suppose que c'est pareil :/Mais y'a que toi pour l'instant où cela ne marche pas?!
Oui moi non plus je ne vois pas.Apparament, je ne suis pas le seul, y'avait remy2405 sur la source de Yomm
salut tout le monde,j'ai testé ce matin: chez moi ca marche maintenant. Merci Urgo (et yomm pour sa source;-).Pour l'instant je n'ai fait que charger Example.vbp et group1.vbg.dans les deux cas visualbasic m'a indique des erreurs de type au chargement mais maintenant plus rien.je n'ai pas encore regardé ce que Urgo a exactement fait pour que ca marche, mais je vais m'y pencher dans la journee.
De rien. J'suis content que mon fichier rar n'est pas servi à rien :)Y'avait simplement des fichiers qui n'étaient pas liés au projet (cela arrive lorsqu'on déplace le projet sur le disque).ciao
une petite question concernant l'example de Urgo:j'y ai ajouté dans le Form a DirExplorer1_Click: msgbox DirExplorer1.chemin-> il m'affiche bien le cheminpour FileExplorer1_Click je fais: msgbox FileExplorer1.SelectedFile-> il y a rien qui se passe, meme si je fais par ex msgbox "hallo"...quelqu'un a-t-il une solution?
Tout d'abord, désolé de ne pas avoir participé a cette conversation , j'étais en déplacement pour le boulot pendant 2 jours....désolé pour tous les problèmes liés au source....celui du "bordel" il est simple a comprendre et pourtant j'ai essayé de modifier autant que possible....la raison est simple : j'utilise mes propre ocx pour d'autres projets donc vb s'embrouille car il a le même fichier référencé plusieur fois...>>Azerty 25: pour l'erreur au démarrageet bien...j'ai Xp sans service pack et vb 6 jusqu'au sp5...rien de plus
le controle FileExplorer.ocx ne reconnait semble-t-il pas correctement l'Event Click(). L'Event Change semble marcher correctement.J'ai lié les deux controles dans mon application MS-Access, et j'y ait les memes problemes avec fileexplorer_click: donc cela ne semble pas etre lié a l'environnement visual-basic.
j'ai modifier le zip....j'ai ajouté au group de projet , le projet du direxplorer...ainsi, plus de problème d'ocx mal placés......
lancez bien le fichier vbg!!!
Il me balance encore l'erreur que j'ai dit plus haut, la ligne : Set tvid = mTVItems(CStr(nmtv.itemOld.lParam))
je pense savoir pourquoi.......mais je ne suis pas vraiment sûr....si je ne m'abuse, tu as dit que tu n'avais pas les SP...si tu fais:menu projet > composantsqu'as tu comme controles Microsoft Windows Common Controls moi j'ai Microsoft Windows Common Controls 5.0 (SP2)Microsoft Windows Common Controls 6.0 (SP4)Microsoft Windows Common Controls-2 5.0 (SP2)Microsoft Windows Common Controls-2 6.0 (SP4)Microsoft Windows Common Controls-3 6.0 (SP5)assure toi de bien avoir le:Microsoft Windows Common Controls 5.0 (SP2)car le FileExplorer utilise le TreeView de ce groupe de controle...sinon je vois pas...
salut yomm,j'ai fait un download de ton fichier, et j'obtiens les memes erreurs que azerty25 au lancement du .vbg. (j'ai les memes composants installes que toi!)Le fichier fourni par Urgo fonctionne chez moi presque sans problemes: sauf mon probleme de SelectedFile (voir plus haut)Vu que je suis encore debutant en VisualBasic, en particulier des property, je ne sais pas encore où commencer pour resoudre le probleme: n'importe quel msgbox, meme un simple "msgbox "hallo"" ecrit dans le FileExplorer1_Click() du Form Example est sans résultat. Où peut etre le blocage dans le form?merci pour les reponses. Remy.
a kel heure as tu dl mon source car j'ai refait des modif et j'ai mis a jour a 13:30...pour ton problème de click, dans le controle FileExplorer,modifie la procédure TView_MouseDown existante par ceci:---------------------------------------------------------------------------Private Sub TView_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)' If ObjComportement = ComportAuto Then Dim Branche As Node Set Branche = TView.HitTest(100, y) If Not (Branche Is Nothing) Then TView.Nodes(Branche.Index).Selected = True Set Branche = Nothing RaiseEvent Click' End If End Sub------------------------------------------------------------------------------et donne moi des nouvelles....
j'ai fait le dl juste avant mon posting.en regardant de plus pres, j'ai vu que dans ton Form1 DirExplorer1 et FileExplorer1 sont des PictureBox!? et non pas des FileExplorer et DirExplorer (comme dans le code de Urgo)Je pense que cela a a voir avec l'installation correcte des .ocx?J'ai d'ailleurs remarque que tu n'avais plus de ocx dans ton zip???? les problemes sont surement dus a ces histoires de composants...
as tu bien lancé le fichier vbg???
GrpFileExplorer.vbg. yep.entre temps j'ai essaye autre chose: si je rajoute par exemple une image dans le formulaire et que j'ecris "msgbox "hallo"" dans l'evenement click de cette image, tout marche normalement: il me dit hallo.Pour le FileExplorer1 y a rien a faire, il me fait pas mon evenement click! Comment est-ce possible? Est-ce programmé quelque part dans le code du FileExplorer?Comme dit: pour le DirExplorer tout marche normalement...
J'ai bien les controles que tu m'a indiqué plus haut, sa ne vient apparament pas de ça, de plus, j'ai installé le SP6
>>remy2405tu a bien fai la modif de la procédure Mouse_Down ???>>azerty25je sais plu koi te dire....ça marche chez moi et ça marche a mon taf... désolé surtout en aveugle c'est dur de comprendre un tel problème...
Oui je sais, c'est dommage :( tampis, ya rien a faire lol
salut tout le monde!un probleme chez moi est resolu: je n'ai pas la bonne version de visual basic: il me faudrait professional ou enterprise pour pouvoir creer des ocx. Apres l'ouverture du fichier vbg apparait bien dans mon menu l'option "creer FileExplorer.ocx", mais pratiquement elle ne me sert a rien. Apres une demande dans une newsgroup on me l'a confirmé. Donc, je ne peux pas tester plus loin..:-( pour l'instant...!N'empeche que j'ai quand meme le probleme que dans mon application MSAccess le SelectedFile de FileExplorer ne fournit pas de resultat!
Bin, va au magasin :p
Est-ce que je peux utiliser cette source (ainsi que la source pour explorer les dossier) pour l'un de mes prog librement ? J'aimerais bien intégrer cet explorateur de fichier pour mon éditeur d'icône (qui est sur ce site en version alpha pour le moment) ?Donc, en commentaire pour ta source : ben je la trouve excellente, sinon, je ne voudrais pas l'utiliser ;opMerci d'avanceDarK Sidious
>>Darksidiousauncun problème pour les utiliser ...juste un petit truc ...avant d'utiliser le DirExplorer attends un peu , je dois faire une modif ...en fait je doit juste mettre a jour mon source mais là je suis pas chez moi ;-)...là modif peut t'intéresser..il s'agit du raffraichissement des répertoire lorske tu fermes une branche et ke tu la réouvres...en effet avec la version actuelle, pour raffraichir un répertoire de l'arbre il faut quitter l'application....Enfin bref...tout mes controles sont ici pour etre utilisés...en échange je demande un simple commentaire et un petit 10 ;-) ...Bonne prog
Ok pour le 10 ;-)Une petite suggestion pour le DirExplorer : rajoute l'événement Click : un simple RaiseEvent Click dans l'événement Click de ton ListView des répertoires suffit.Merci beaucoup, je posterais ma source d'extraction d'icône utilisant tes ocx dès que je l'aurais finie, et je te mentionnerais bien entendu ;-)DarK Sidious
merci a toi
mise à jour pour l'event click...d'autre modif m'ont été demandées et seront à venir ces jours çi.....
Moi je trouve cette source superbe. Fonctionnelle, et utile, mais à "A cause de moi" Il te faudra encore faire une mise à jour de plus, afin que le FileExplorer soit un VRAI FileListBox amélioré sur les points dont nous avons discutés. Pour l'idée, pour la facilité d'utilisation, pour la disponibilité, et le temps passé à me guider 10/10.Si vous n'êtes pas très doué avec les listview et les treeview, cette source est sans l'ombre d'un doute pour vous.
Bon.....euh comme je l'ai dit , je suis en train de revoir le FileExplorer pour y ajouter quelques fonctionnalité comme me l'a demandé Fraggy...En fait je vais tout reprendre...et oui certaines fonctions à implémenter serainet plus facile avec une listview qu'avec un treeview...sachant que le FileExplorer n'utilise pas les fonctionnalités d'arbre à proprement parler mais qu'il aurait besoin du multiselect (une des demandes de Fraggy), et que cette dernière n'existe pas en natif sur le treeview, je vais surement revoir le FileExplorer en le basant donc sur une listview...le développement de cette version risque de me prendre plus de temps que prévu...mais bon...Si certains se demandent si ils auront vraiment besoin de cette futur version, voici au moins 2 fonctions que je vais tenter d'implémenter:- le multiselect - le filtre d'extention afin de pouvoir filtrer à partir de quelque chose du genre : *.jpg|*.jpeg|*.bmp|*.gifvoila, c'était juste pour info...@+
Eh, Yomm, le must du must serait aussi de pouvoir récupérer les propiétes des fichiers en les listant en mode "report" ! ;-)
Comment tu fait pour présélectionner un chemin sur le réseau !!!
>>Micool :le control avance doucement mais sûrement ;-)>>cricri67en fait tu as juste à faire :FileExplorer.Path = "\\La_Machine\Repertoire\sousRepertoire"
OK pour le FileExplorer !!Mais pour le DirExplorer, si tu donne un chemin du genre DirExplorer.Chemin = "\\La_Machine\Repertoire\sousRepertoire", il ne se passe rien !!Ca ne fonctionne que sur un lecteur réseau ou disque dur ! ou bien ??
>>cricri67en fait l'arborescence d'un chemin réseaux n'existe pas vraiment, elle dépend de la version de windows (enfin je crois)...je suis en train de regarder comment cela peut etre faisable, je pense qu'en faisant le chemin inverse, c'est à dire partir du "\\La_Machine" et de son pidl, je peux peut etre , en récupérant le pidl parent, remonter jusk'au début de l'arborescence, et en mémorisant au fur et à mesure les différents pidl parents, puis redescendre grace au pidl mémorisés afin d'ouvrir les branches et arriver au résultat que tu souhaites...je te tiendrai au courant dès que j'aurai trouver comment gérer cela...
bonjour,je désir ajouter le listindex mes je ne suis pas très for dans la création de contrôles.Const m_def_ListIndex = 0Dim m_ListIndex As Integer'Public Property Get SelectedFile() As Stringm_Selected = TView.Nodes.Item(m_ListIndex).Selected '''Private Sub UserControl_ReadProperties(PropBag As PropertyBag)m_ListIndex = PropBag.ReadProperty("ListIndex", m_def_ListIndex)'Private Sub UserControl_WriteProperties(PropBag As PropertyBag)Call PropBag.WriteProperty("ListIndex", m_ListIndex, m_def_ListIndex)Public Property Get ListIndex() As IntegerListIndex = m_ListIndexEnd PropertyPublic Property Let ListIndex(ByVal New_ListIndex As Integer)m_ListIndex = New_ListIndexPropertyChanged "ListIndex"End PropertyVoilà ce dont j'ai r'ajouter, mais toujours une réponse "0" Me.Caption = FileExplorer1.ListIndexmerci
Bonjour,J'ai trouver la solution..Il suffit de rajouter...Const m_def_ListIndex = 0Dim m_ListIndex As Integer'Public Property Get SelectedFile() As Stringm_Selected = TView.Nodes.Item(m_ListIndex).Selected '''Private Sub UserControl_ReadProperties(PropBag As PropertyBag)m_ListIndex = PropBag.ReadProperty("ListIndex", m_def_ListIndex)'Private Sub UserControl_WriteProperties(PropBag As PropertyBag)Call PropBag.WriteProperty("ListIndex", m_ListIndex, m_def_ListIndex)Public Property Get ListIndex() As IntegerListIndex = m_ListIndexEnd PropertyPublic Property Let ListIndex(ByVal New_ListIndex As Integer)m_ListIndex = New_ListIndexPropertyChanged "ListIndex"End PropertyPrivate Sub TView_Click()m_ListIndex = TView.Nodes.Item(TView.SelectedItem.Index).IndexRaiseEvent ClickEnd SubMerci
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 873 964 membres 1 nouveaux aujourd'hui 16 151 membres club