Anksunamon
Messages postés12Date d'inscriptionjeudi 23 janvier 2003StatutMembreDernière intervention17 juin 2007
-
23 janv. 2003 à 16:39
tardigrade
Messages postés208Date d'inscriptionmercredi 22 janvier 2003StatutMembreDerniè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???
tardigrade
Messages postés208Date d'inscriptionmercredi 22 janvier 2003StatutMembreDerniè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