Win32 - Boîte de dialogue Sélectionner un répertoire à partir de C / C ++
Comment sélectionner un dossier existant (ou en créer de nouvelles) à partir d'un natif Win32 application?
Voici une question similaire. Il a une bonne réponse pour C#/.NET. Mais je veux la même chose pour le natif Win32.
Quelqu'un connait une solution, gratuit code, etc?
Mise à jour:
J'ai essayé la fonction à partir de la réponse. Tout a fonctionné comme prévu, sauf qu'il est nécessaire d'appeler la SHGetPathFromIDList
fonction pour récupérer le nom du répertoire sélectionné. Voici un exemple de capture d'écran:
source d'informationauteur Kirill Kobelev
Vous devez vous connecter pour publier un commentaire.
SHBrowseForFolder
Vos utilisateurs une faveur, et de définir au moins les
BIF_NEWDIALOGSTYLE
drapeau.Pour définir le dossier initial, ajoutez le code suivant:
et de fournir un chemin d'accès approprié (comme se souvenir de la dernière sélection, de vos applications de données, dossier, ou similaire)
Comme un aller pour les futurs utilisateurs, cet article m'a beaucoup aidé avec l'obtention d'un répertoire de dialogue en C++
http://www.codeproject.com/Articles/2604/Browse-Folder-dialog-search-folder-and-all-sub-fol
Voici mon code (beaucoup/prises sur l'article)
REMARQUE: Vous devez être en mesure de copier/coller dans un fichier /compiler (g++, voir VS ninja edit ci-dessous) et ça marchera.
EDIT: j'ai mis à jour le code de montrer aux gens comment se souvenir de la dernière sélectionné chemin et l'utiliser.
Aussi, pour VS, à l'aide de jeu de caractères Unicode. remplacer cette ligne:
:
Mon code de Test ci-dessus est compilé avec g++, mais, ce faisant, il fixe en VS pour moi.