CFileDialog :: Parcourir les dossiers
Lorsque j'essaie d'instancier un CFileDialog
objet qu'il montre à la fois les dossiers et les fichiers. Comment voulez-vous créer une CFileDialog
qui navigue sur les dossiers seul?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas le faire avec
CFileDialog
.Soit vous utilisez Fonction SHBrowseForFolder ou un wrapper pour elle,
comme CFolderDialog - Sélection Des Dossiers.
SHBrowseForFolder
est largement dépassée. À partir de l'remarques: "Pour Windows Vista ou version ultérieure, il est recommandé que vous utilisez IFileDialog avec le FOS_PICKFOLDERS option plutôt que la fonction SHBrowseForFolder. Il utilise les Fichiers Ouverts dans la boîte de dialogue de sélection des dossiers de mode préféré de mise en œuvre."C'est très simple, vraiment.
Utilisation
CFolderPickerDialog
qui est dérivée de la classeCFileDialog
!À partir de Vista, il est recommandé d'utiliser IFileDialog avec le FOS_PICKFOLDERS option (voir msdn):
Comme quelqu'un l'a mentionné, l'utilisation CFolderPickerDialog qui fonctionne très bien. Je tiens à vous donner des exemple de comment l'utiliser, en particulier lors de l'utilisation de la multi sélection drapeau:
à partir de windows vista,vous pouvez utiliser le Commune De Dialogue De L'Élément .
Me semble que la réponse que vous demandez est à l'intérieur du code de
de la
fichier.
Si vous n'avez pas accès au code, je vais poster l'essentiel:
Comme vous le voyez, Microsoft lui-même n'utilise pas la classe Cfiledialog quand veut ouvrir une boîte de dialogue pour la cueillette des dossiers.
De l'utilisation de code comme ça, votre classe d'application DOIT être dérivée de CWinAppEx, pas de CWinApp