dans une application VB 6.0 je veux donner à l'utilisateur la possibilité de selectionner un répertoire sans qu'il soit nécesaire pour lui de sélectionner un fichier.
par avance merci.
dans une application VB 6.0 je veux donner à l'utilisateur la possibilité de selectionner un répertoire sans qu'il soit nécesaire pour lui de sélectionner un fichier.
par avance merci.
Salut,
Alors voici une solution qui fonctionne
Il y a la fonction :
Et ceci est à mettre dans les déclarations principales:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Public Function SelectFolder(Titre As String, Handle As Long) As String ' Fonction de sélection d'un répertoire à partir d'une fenêtre standard type application Windows Dim lpIDList As Long Dim strBuffer As String Dim strTitre As String Dim tBrowseInfo As BrowseInfo Dim fs Set fs = CreateObject("Scripting.FileSystemObject") strTitre = Titre With tBrowseInfo .hWndOwner = Handle .lpszTitle = lstrcat(strTitre, "") .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN End With lpIDList = SHBrowseForFolder(tBrowseInfo) If (lpIDList) Then strBuffer = String(260, vbNullChar) SHGetPathFromIDList lpIDList, strBuffer SelectFolder = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1) End If End Function
Bonne continuation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 ' Partie de code nécessaire pour l'ouverture d'une fenêtre de choix de répertoire ' code trouvé sur Internet et libre de droit Private Const BIF_RETURNONLYFSDIRS = 1 Private Const BIF_DONTGOBELOWDOMAIN = 2 Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, _ ByVal lpBuffer As String) As Long Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, _ ByVal lpString2 As String) As Long Private Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type
Théo
Merci beaucoup.
J'ai utilisé une autre solution qui consiste à sélectionner un fichier avec une CommonDialog box.
Partager