2010-04-15 16 views
3

J'ai trouvé tout le code dont j'ai besoin pour que SHBrowseForFolder fonctionne dans mon application. Mais je déteste que cela vous oblige à tout faire dans la petite fenêtre de dossier, sans une zone de texte pour naviguer en tapant. Sous Windows, je vois souvent une autre boîte de dialogue de recherche de dossier qui me permet de taper les noms de dossier et d'utiliser les autres touches de navigation habituelles pour sélectionner le dossier souhaité (retour arrière, "..", Entrée, et bientôt).SHBrowseForFolder, mais avec la zone de texte pour naviguer

Y a-t-il un appel API différent pour cela?

Répondre

2

Essayez ceci:

a.ulFlags = BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE | BIF_EDITBOX; 
+0

Merci! J'ai dîné et quand je suis retourné au travail, j'ai décidé d'aller de l'avant avec l'ancien dialogue. Puis j'ai trouvé la réponse aussi. Mais vous étiez premier et complet. Merci. – ErikE

1
+0

Bien que cet outil a l'air cool, ce n'est pas vraiment ce que je demandais. Il est possible d'obtenir ce que j'ai demandé, alors votre réponse est, eh bien, fausse. – ErikE

+0

Vous avez raison, j'ai mal interprété ce que vous demandiez. En passant, puisque vous pouvez obtenir la source pour cet outil, vous pouvez le limiter à seulement laisser l'utilisateur sélectionner un dossier, de sorte que vous pouvez obtenir ce que vous avez demandé, mais oui pour vos fins c'est exagéré. –

1

Lorsque vous appelez SHBrowseForFolder il vous suffit d'ajouter le drapeau BIF_EDITBOX au champ ulFlags.