Boite de dialogue Ouvrir Répertoire

Anksunamon Messages postés 12 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 17 juin 2007 - 23 janv. 2003 à 16:39
tardigrade Messages postés 208 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 décembre 2008 - 23 janv. 2003 à 19:18
Salut à tous...

Je cherche à afficher la boite de dialogue ouvrir un répertoire comme je l'ais déjà vus dans plusieurs programmes, mais apparement avec les commondialogue on ne peut pas...

Comment peut-on afficher cette boite de dialogue de sélection de dossier???

Merci à tous!!!!

2 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
23 janv. 2003 à 16:57
Bonjour
Sur une feuille,
Une DriveListBox Drive1
Une DirListBox Dir1

Le code :

Public Chemin As String

Private Sub Drive1_Change()
Dir1.Path = Left(Drive1.Drive, 2)
End Sub

Private Sub Dir1_Change()
Chemin = Dir1.Path
If Right(Chemin, 1) <> "" Then Chemin = Chemin & ""
End Sub

et tu obtiens par exemple Chemin = "C:\MonDossier"
0
tardigrade Messages postés 208 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 décembre 2008
23 janv. 2003 à 19:18
Salut,

Si tu souhaites utiliser le meme objet que les autres application il faut faire appel aux api. le code est:

Private Type BrowseInfo
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long

Private Function Folder_Path(ByRef Chemin As String) As Long
Dim Objet_BrowseInfo As BrowseInfo
Objet_BrowseInfo.hOwner = Me.hWnd
Objet_BrowseInfo.pidlRoot = 0&
Objet_BrowseInfo.lpszTitle = "Selectionnez un dossier à ajouter à la liste :"
Objet_BrowseInfo.ulFlags = 1
Chemin = String(260, 0)
Folder_Path = SHGetPathFromIDList(SHBrowseForFolder(Objet_BrowseInfo), Chemin)
End Function

Private Sub Form_Load()
Dim Chemin As String
If Folder_Path(Chemin) <> 0 Then
MsgBox "Le Dossier est " & Replace(Chemin, Chr(0), "")
Else
MsgBox "Aucun dossier"
End If
End
End Sub

Biensur tu peux le compliquer selon ce que tu souhaites faire

Cao
0
Rejoignez-nous