Salut,
J'aimerai savoir si il existe une dialogue pr�d�finie (comme une CFileDialog pour ouvrir ou enregistrer un fichier) qui permet de s�lectionner un dossier de destination lorsque je clique sur un bouton parcourir par exemple.
Merci.
Version imprimable
Salut,
J'aimerai savoir si il existe une dialogue pr�d�finie (comme une CFileDialog pour ouvrir ou enregistrer un fichier) qui permet de s�lectionner un dossier de destination lorsque je clique sur un bouton parcourir par exemple.
Merci.
salut,
n'h�site pas � consulter la FAQ : http://c.developpez.com/faq/vc/?page...etCurentFolder
En effet, j'avais d�j� vu dans la faq comment r�cup�rer le chemin de destination, mais ce que je recherche c'est une dialog qui pr�sente l'arbre des disques dur et pouvoir ainsi parcourir l'arborescence, le bouton enregistrer ou ouvrir remplac� par un bouton ok pour pouvoir valider le chemin de destination. En faite, existe il une boite de dialogue correspondant � l'implementation d'un bouton parcourir ou faut il la cr�er soit m�me?
Merci.
Salut,
En effet.
Ou sinon, si tu veux permettre seulement la selection de repertoires (une boite de dialogue qui ne fait pas apparaitre de fichiers), tu peux
* utiliser l'une des nombreuses classes qu'on trouve sur le net (sur codeguru par exemple)
* ou le code suivant: http://c.developpez.com/faq/vc/?page...s#SelectFolder qui te donnera �a : http://i2.photobucket.com/albums/y31...k/dossiers.jpg
Voil� le code un peu simplifi� si tu veux d�j� comprendre comme �a marche avant de te lancer dans l'exemple complet ....Choisis la m�thode qui te convient le mieux :DCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 BROWSEINFO bi = { 0 }; bi.lpszTitle = _T("Pick a Directory"); LPITEMIDLIST pidl = SHBrowseForFolder ( &bi ); if ( pidl != 0 ) { // get the name of the folder TCHAR path[MAX_PATH]; if ( SHGetPathFromIDList ( pidl, path ) ) { // faire ton traitement } else { AfxMessageBox("Erreur: impossible d'ouvrir le repertoire",MB_OK|MB_ICONERROR); } // free memory used IMalloc * imalloc = 0; if ( SUCCEEDED( SHGetMalloc ( &imalloc )) ) { imalloc->Free ( pidl ); imalloc->Release ( ); } } else { AfxMessageBox("Erreur: impossible d'ouvrir le repertoire",MB_OK|MB_ICONERROR); }