J'aimerais savoir s'il existe un composant qui permet d'obtenir l'arborescence des repertoires/fichiers d'une machine, qui possede en racine le bureau de Windows.
Il s'agit de l'arborescence qui permet d'acceder rapidement a "Mes documents", au Poste de Travail ainsi qu'aux favoris reseaux.
Je bosse avec C++ Builder 6 et les composants existant permettent seulement de parcourir les repertoires du lecteur specifie et ne donnent pas acces au reseau.
Existe t il un composant qui liste les repertoires de cette facon :
ou faut il que je me fasse un composant qui s'en occupe.
Peut etre est il possible d'obtenir ce type d'arborescence via les API ?
ou via les API c'est possible : Avec GetOpenFileName ()
OPENFILENAME st;
char buffer[MAX_PATH];
// Pas de fichier par défaut
buf[0]='';
// On met tous les champs inutilisés à 0
memset(&st,0,sizeof(OPENFILENAME));
st.lStructSize=sizeof(OPENFILENAME);
// hDlg est le HWND de la boite de dialogue qui demande l'ouverture
// Ou NULL si la boite de dialogue n'a pas de fenêtre parent
st.hwndOwner=hDlg;
// La syntaxe est : Description1Filtre1Description2Filtre2
st.lpstrFilter="Executables - Fichiers de commandes*.exe;*.bat";
st.lpstrFile=buffer;
st.nMaxFile=MAX_PATH;
st.lpstrTitle="Recherche de l'exécutable";
st.Flags=NULL;
// Contient le répertoire initial ou NULL
st.lpstrInitialDir=NULL;
if(GetOpenFileName(&st))
// buffer contient notre chemin
Je ne savais afficher un dialog d'ouverture qu'a travers les composants de borland . Grace a toi je vais pouvoir me liberer un peu plus de la VCL .
Cependant (et oui je sais je suis horriblement exigeant ) je voudrais que l'arborescence ci-dessus s'affiche dans la fenetre de base, comme un panel ou un treeview. Cette arborescence permet de selectionner des repertoires, sans avoir a selectionner de fichier. D'ailleurs, on la retrouve dans l'exemple que tu m'as donne, dans la liste deroulante intitulee "Rechercher dans" situé en au du dialog d'ouverture.
C'est bien l'arborescence que je cherchais. Mais est il possible de l'obetenir, non pas dans une boite de dialogue, mais comme un element de la fenetre principale ?
Je pense que oui, on peut quasi tout faire avec l'API Windows, mais je n'ai jamais eu à le faire.
Il faudra lui dévier sa defProc pour récup le ENTER ou sa notif de fermeture, soit par hook soit par sous classement, c'est à tester.