OVH Cloud OVH Cloud

Boite de dialogue choix de repertoire

12 réponses
Avatar
RV
Bonjour,
J'aimerais avoir une boite de controle me permettant de=20
s=E9lectionner un r=E9pertoire et uniquement un r=E9pertoire.=20
Le 'CommonDialog' permettrait de faire ce que je veux mais=20
sur des fichiers, et je n'ai pas trouv=E9 les propri=E9t=E9s =E0=20
rentrer pour avoir une telle boite de dialogue.
Ou faut-il que je devellope moi m=EAme cette boite ?

Merci pour l'aide
RV

10 réponses

1 2
Avatar
Christophe QUEVAL
Bonjour,

A ma connaissance, il faut en effet la faire soi-même (c'est ce que j'ai
fait).
Ce manque a été corrigé dans VB .Net.

Christophe

"RV" a écrit dans le message de
news:17e601c426cc$cb9044b0$
Bonjour,
J'aimerais avoir une boite de controle me permettant de
sélectionner un répertoire et uniquement un répertoire.
Le 'CommonDialog' permettrait de faire ce que je veux mais
sur des fichiers, et je n'ai pas trouvé les propriétés à
rentrer pour avoir une telle boite de dialogue.
Ou faut-il que je devellope moi même cette boite ?

Merci pour l'aide
RV
Avatar
Gafish
Bonjour,

C'est en VBA pour Access, mais ca peut sans doute t'aider :
http://www.mvps.org/accessfr/apis/api0002.htm

Arnaud

-----Message d'origine-----
Bonjour,
J'aimerais avoir une boite de controle me permettant de
sélectionner un répertoire et uniquement un répertoire.
Le 'CommonDialog' permettrait de faire ce que je veux


mais
sur des fichiers, et je n'ai pas trouvé les propriétés à
rentrer pour avoir une telle boite de dialogue.
Ou faut-il que je devellope moi même cette boite ?

Merci pour l'aide
RV
.



Avatar
Clive Lumb
Il y a un exemple dans le MSDN, chercher SHBrowseForFolder, ou aller ici
http://support.microsoft.com/default.aspx?scid=kb;en-us;179497

Clive

"RV" a écrit dans le message de
news:17e601c426cc$cb9044b0$
Bonjour,
J'aimerais avoir une boite de controle me permettant de
sélectionner un répertoire et uniquement un répertoire.
Le 'CommonDialog' permettrait de faire ce que je veux mais
sur des fichiers, et je n'ai pas trouvé les propriétés à
rentrer pour avoir une telle boite de dialogue.
Ou faut-il que je devellope moi même cette boite ?

Merci pour l'aide
RV
Avatar
RV
Merci à toutes les réponses.

Ce qui est décrit dans la KB microsoft correspond tout à
fait à ce que je recherche, à 2 détails de fonctionnement.

Comment initialiser la boite de dialogue sur un répertoire
spécifique ?

Comment ajouter le(s) bouton(s) afin de créer un nouveau
dossier, revenir sur le dossier parent, ... ?

Encore merci
RV

-----Message d'origine-----
Il y a un exemple dans le MSDN, chercher


SHBrowseForFolder, ou aller ici
http://support.microsoft.com/default.aspx?scid=kb;en-


us;179497

Clive


Avatar
Christophe QUEVAL
Intéressant !! Merci pour l'info :-)

Christophe

"Clive Lumb" a écrit dans le message
de news:
Il y a un exemple dans le MSDN, chercher SHBrowseForFolder, ou aller ici
http://support.microsoft.com/default.aspx?scid=kb;en-us;179497

Clive

"RV" a écrit dans le message de
news:17e601c426cc$cb9044b0$
Bonjour,
J'aimerais avoir une boite de controle me permettant de
sélectionner un répertoire et uniquement un répertoire.
Le 'CommonDialog' permettrait de faire ce que je veux mais
sur des fichiers, et je n'ai pas trouvé les propriétés à
rentrer pour avoir une telle boite de dialogue.
Ou faut-il que je devellope moi même cette boite ?

Merci pour l'aide
RV




Avatar
Christophe QUEVAL
A l'aide de la propriété Flags (structure comme pour la boite de dialogue
Printer).

Voir ici
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/browseinfo.asp

Christophe

"RV" a écrit dans le message de
news:197701c426d8$63b1e1d0$
Merci à toutes les réponses.

Ce qui est décrit dans la KB microsoft correspond tout à
fait à ce que je recherche, à 2 détails de fonctionnement.

Comment initialiser la boite de dialogue sur un répertoire
spécifique ?

Comment ajouter le(s) bouton(s) afin de créer un nouveau
dossier, revenir sur le dossier parent, ... ?

Encore merci
RV

-----Message d'origine-----
Il y a un exemple dans le MSDN, chercher


SHBrowseForFolder, ou aller ici
http://support.microsoft.com/default.aspx?scid=kb;en-


us;179497

Clive


Avatar
parci
In : 197701c426d8$63b1e1d0$,
RV écrivissa :
Merci à toutes les réponses.

Ce qui est décrit dans la KB microsoft correspond tout à
fait à ce que je recherche, à 2 détails de fonctionnement.

Comment initialiser la boite de dialogue sur un répertoire
spécifique ?



Tu dois utiliser la callback.
Exemple :
http://vbnet.mvps.org/code/callback/browsecallback.htm

Comment ajouter le(s) bouton(s) afin de créer un nouveau
dossier, revenir sur le dossier parent, ... ?



Probablement en jouant sur les flags (désolé, mais ma version de shell32
est trop ancienne pour tester).
Avatar
RV
J'avais bien remarqué ces flags, mais il me manquait ceux
des versions >= 5.0 dans mes msdn...
Je suppose que le flag adequat est donc le
BIF_NEWDIALOGSTYLE mais même avec, je ne récupère pas les
nouvelles fonctionnalités (je suis bien en version de
shell32 6.00.2800.1233).
La description du flag recommande d'appeler OleInitialize
ou CoInitialize avant d'appeler SHBrowseForFolder.
Comment fait-on cela ? (je ne suis pas un pro de VB...)
Est-ce bien ca qui bloque ?

Merci
RV

-----Message d'origine-----
A l'aide de la propriété Flags (structure comme pour la


boite de dialogue
Printer).

Voir ici
http://msdn.microsoft.com/library/default.asp?


url=/library/en-
us/shellcc/platform/shell/reference/structures/browseinfo.a
sp

Christophe


Avatar
Clive Lumb
J'ai testé avec
Private Const BIF_NEWDIALOGSTYLE As Long = &H40
qui marche même sans intialiser Ole

"Christophe QUEVAL" a écrit dans le
message de news:eh$h%
A l'aide de la propriété Flags (structure comme pour la boite de dialogue
Printer).

Voir ici



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/browseinfo.asp

Christophe

"RV" a écrit dans le message de
news:197701c426d8$63b1e1d0$
Merci à toutes les réponses.

Ce qui est décrit dans la KB microsoft correspond tout à
fait à ce que je recherche, à 2 détails de fonctionnement.

Comment initialiser la boite de dialogue sur un répertoire
spécifique ?

Comment ajouter le(s) bouton(s) afin de créer un nouveau
dossier, revenir sur le dossier parent, ... ?

Encore merci
RV

>-----Message d'origine-----
>Il y a un exemple dans le MSDN, chercher
SHBrowseForFolder, ou aller ici
>http://support.microsoft.com/default.aspx?scid=kb;en-
us;179497
>
>Clive




Avatar
RV
Bonjour,

-----Message d'origine-----
In : 197701c426d8$63b1e1d0$,
RV écrivissa :
Comment initialiser la boite de dialogue sur un




répertoire spécifique ?

Tu dois utiliser la callback.
Exemple :
http://vbnet.mvps.org/code/callback/browsecallback.htm



Les exemples fonctionnent très bien. Merci.

Comment ajouter le(s) bouton(s) afin de créer un nouveau
dossier, revenir sur le dossier parent, ... ?



Probablement en jouant sur les flags (désolé, mais ma


version de shell32 est trop ancienne pour tester).

Effectivement, comme décrit dans la réponse de Clive Lumb,
le flag BIF_NEWDIALOGSTYLE fonctionne. Par contre, quand
je couple ce flag au CallBack, le CallBack est sans
effet... (la boite pointe systématiquement sur C:) Une
idée ?

Merci
RV
1 2