Twitter iPhone pliant OnePlus 12 PS5 Disney+ Orange Livebox Windows 11 ChatGPT

Explorer Forlder Tree...

6 réponses
Avatar
MrHanky
Bonjour,

J'aimerais dans une application mettre dans une frame le 'folder tree'
d'internet explorer, existe-t-il une classe pour faire ca ? je ne demande
qu'un arbre permettant a un utilisateur de choisir un fichier ou un dossier,
rien de terrible me semble-t-il, pourtant, rien dans l'aide de vc6.0...

Merci d'avance

MrHanky

6 réponses

Avatar
MrHanky
Merci d'avoir répondu aussi vite.
Le seul problème, c'est que j'avais bien entendu déjà regardé sur
codeproject et le projet le plus court comporte environ 2000 lignes (pour
afficher un pauvre arbre). Ma question est la suivante : peut-on avoir le
folder tree de l'explorer de windows ? Pas un clone réécrit. Si oui, comment
? Sinon existe-t-il une classe (simple) pour avoir cet arbre (moins de 1000
lignes please ^_^) ?

Mr Hanky

"Quentin Pouplard" a écrit dans le message de
news:

MrHanky wrote:
> Bonjour,
>
> J'aimerais dans une application mettre dans une frame le 'folder
> tree'
> d'internet explorer, existe-t-il une classe pour faire ca ? je ne
> demande qu'un arbre permettant a un utilisateur de choisir un fichier
> ou un dossier, rien de terrible me semble-t-il, pourtant, rien dans
> l'aide de vc6.0...

Regarde sur www.codeproject.com tu devrais trouver ton bonheur... ceci
dit, c'est facile à exprimer, mais ce n'est pas si trivial à (bien)
faire.


--
Quentin Pouplard (Tene/MyOE)
http://www.myoe.org | http://graff.alrj.org



Avatar
patrox
> Merci d'avoir répondu aussi vite.
Le seul problème, c'est que j'avais bien entendu déjà regardé sur
codeproject et le projet le plus court comporte environ 2000 lignes (pour
afficher un pauvre arbre). Ma question est la suivante : peut-on avoir le
folder tree de l'explorer de windows ? Pas un clone réécrit. Si oui,


comment
? Sinon existe-t-il une classe (simple) pour avoir cet arbre (moins de


1000
lignes please ^_^) ?

Mr Hanky



C'est une bonne question, j'avoue ne jamais avoir trouvé, personnellement je
repondrai par un changement d'UI de ton programme.
Une gestion du drag n drop depuis le bureau de windows est bien plus
conviviale, et au moins si l'utilisateur veux bosser en liste ou en icone,
il peu.

( 3 lignes de codes avec WM_DROPFILES)

Cependant il existe une astuce qui fonctionne peut etre, mais ca tiens plus
de la bidouille.
Creer un container ATL ( AtlCreateWindowEx ) avec plutot qu'un GUID, un
repertoire, cela va te permettre d'afficher un repertoire dans ton appli
( total de l'operation 5 lignes , mais ca affiche en mode "fenetre du
bureau")
Il y a surement moyen de passer le GUID de l'explorateur de fichier afin
d'afficher le treeview ( je n'ai jamais essayé ), au final cela reviens
presque a avoir une fenetre windows incluse dans son appli.

pat.
Avatar
patrox
> Pour le TreeView du panel gauche de l'Explorer, il faut ~70 lignes de
code C/C++ (création TreeView + remplissage par SHGetDesktopFolder() &
Cie (enumération du Shell Namespace (IShellFolder::EnumObjects()))



Oui mais ca ne l'affiche pas, et ca ne prends pas en compte les operations
de drag n drop copy etc...
A mon avis il veux une totale.

pat.
Avatar
Christian ASTOR
patrox wrote:

Oui mais ca ne l'affiche pas,



???

et ca ne prends pas en compte les operations
de drag n drop copy etc...



Quelques lignes de + pour le Drag&Drop (par ex, ~30 pour l'IDropSource
interface)
Pas plus pour avoir le même menu contextuel (IContextMenu::InvokeCommand())
Avatar
MrHanky
Merci a tous les deux (Christian & Patrox), c'est ce que je voulais, je m'y
colle tout de suite

Mr Hanky

"Christian ASTOR" a écrit dans le message de
news:
MrHanky wrote:
> Ma question est la suivante : peut-on avoir le
> folder tree de l'explorer de windows ? Pas un clone réécrit. Si oui,


comment
> ? Sinon existe-t-il une classe (simple) pour avoir cet arbre (moins de


1000
> lignes please ^_^) ?

Pour le TreeView du panel gauche de l'Explorer, il faut ~70 lignes de
code C/C++ (création TreeView + remplissage par SHGetDesktopFolder() &
Cie (enumération du Shell Namespace (IShellFolder::EnumObjects()))



Avatar
MrHanky
haha ! ^_^

"patrox" a écrit dans le message de
news:3f33b52a$0$26410$

> C'est tout simplement horrible, rien a redire, 200 pages de doc pour 3
fois
> rien, dire que sur MacOs j'ai mis 30 minutes pour tout boucler, et que


la
ca
> fait une semaine que je suis bloqué. Je vais finir par croire que je


suis
le
> premier a vouloir une telle routine (juste une classe qui renvoie une
chaine
> quand on clique sur un fichier). Mais personne n'a jamais implanter ca


ou
> quoi ? Je pense que tout le monde s'y est déjà collé et que personne n'a
> vraiment réussi parfaitement :)
>
> Vous n'avez pas une adresse ou un gars s'est déjà pris la tete avec
> TreeView/IShellFolder/SH* ?
>

Ouai mais imagine que si tous le monde avait des macs les programmeurs
seraient au chomage, de plus la complexité inutile de windoze leur permet


de
rouler les mecaniques face au patron :p.

pat.