![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Gibts ein fertiges Control, außer dem FileDialog welches mir die möglichkeit gibt den User einen Ordner auswählen zu lassen.
Hab mir jetzt nochmal den CommonDialog angeschaut, aber da kann man leider nur Dateien auswählen. Und übern FileDialog (dort müssts theoretisch funktionieren - habs aber noch nicht probiert) will ichs nur im Notfall machen, weil ich da natürlich noch ein OCX in mein Projekt einbinden müsste, und das will ich nicht unbedingt. Aber vielleicht gibts da ja noch was, was ich noch nicht entdeckt habe. ![]() |
![]() |
![]() |
![]() |
#2 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() hi!
versuchs mal damit. #### Deklaration ### Dim hWnd 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 Private Const BIF_RETURNONLYFSDIRS = 1 Private Const MAX_PATH = 260 Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long) Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, _ ByVal lpString2 As String) As Long 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 ### Funktion ### Private Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String 'Dialog Ordner auswählen anzeigen, und Ordner mit Pfad zurückgeben Dim iNull As Integer Dim lpIDList As Long Dim lResult As Long Dim sPath As String Dim udtBI As BrowseInfo With udtBI .hwndOwner = hwndOwner .lpszTitle = lstrcat(sPrompt, "") .ulFlags = BIF_RETURNONLYFSDIRS End With lpIDList = SHBrowseForFolder(udtBI) If lpIDList Then sPath = String$(MAX_PATH, 0) lResult = SHGetPathFromIDList(lpIDList, sPath) Call CoTaskMemFree(lpIDList) iNull = InStr(sPath, vbNullChar) If iNull Then sPath = Left$(sPath, iNull - 1) End If BrowseForFolder = sPath End Function ### verwendung in einer form ### Aufruf z. B. mit: SelectedFolder = BrowseForFolder(hWnd, "Bitte wählen Sie einen Ordner:") mfg. WB |
![]() |
![]() |
![]() |
#3 | |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Zitat:
![]() |
|
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|