CFileDialog améliorée ?

bzouli Messages postés 11 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 4 mai 2004 - 1 mars 2004 à 17:26
cs_goondy Messages postés 95 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 janvier 2005 - 2 mars 2004 à 14:11
Bonjour,

Je voudrais faire un CFileDialog mais avec un Tree Control qui n'affiche que les dossiers de l'arborescence, et une Clist (à coté) où les fichiers du dossier sélectionné apparraissent... Boite de dialogue qui gère évidemment toute l'arborescence...
Si vous avez une idée, n'hésitez pas...

Merci beaucoup.

4 réponses

cs_goondy Messages postés 95 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 janvier 2005
2 mars 2004 à 00:19
Bah je crois que la réponse est dans ta question!
Tu fais une boite de dialogue.
Tu mets deux listes (CListCtrl ou autre), une ou tu listeras tes répertoires et l'autre ou tu listera des fichiers.
C'est pas très compliqué, j'ai fait quasiment la meme chose y a 2 semaines....
0
cs_goondy Messages postés 95 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 janvier 2005
2 mars 2004 à 00:20
Euh, pardon... utilise un tree pour les dossiers... j'avais zappé ce détail!
0
bzouli Messages postés 11 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 4 mai 2004
2 mars 2004 à 08:16
Oui d'accord, mais comment spécifier précisément au tree qu'il n'affiche que les dossiers? et comment faire pour qu'il ait accès à l'arborescence? et comment relier le dossier sélectionner et les fichiers qui vont apparaitre dans la Clist?
En clair, j'ai le concept, mais pas la technique....
0
cs_goondy Messages postés 95 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 janvier 2005
2 mars 2004 à 14:11
Ouais, je ne suis pas chez moi mais bon... je regarderais mes sources et j'essayerai d'être plus explicite si tu n'y arrives pas.
Pour le moment, regarde le fonctionnement d'un CFileFind.
Ca te permet de parcourir des dossiers, et de savoir si un élément est un fichier ou un dossier (isDirectory()).
Ensuite, si c'est un dossier, tu le rajoutes à ton arbre, si c'est un fichier, tu le mets dans ta liste.
Après pour reliers les fichiers et les dossiers, c'est a toi de le faire : pour le path d'un fichier, tu as son chemin complet en prenant le dossier sélectionné dans l'arbre et le fichier sélectionné dans la liste. N'oublie pas de garder des chemins complets.

Ah oui, si t'as plusieurs partition, GetLogicalDrives() te donnera tous les lecteurs dispo... et tu peux les différencier (lecteur CD, disquette etc...)....

Regarde ce que je t'ai indiqué avec MSDN et le fonctionnement d'un CFileFind est ptet indiqué ici.

@+
0
Rejoignez-nous