Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Source Codes
Autor
Nachricht
ZiG
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 421

DirDialog (Ordner im Dialog auswählen)
Verfasst am: 18.06.2009, 12:03

Name: DirDialog
Funktion: Öffnet den Ordner Dialog, worin der Benutzer einen Ordner auswählen kann und nicht nur Dateien wie beim CommonDialog.
Rückgabe: Ein String (Pfad). Falls leer wurde abgebrochen.

Benötigte Apis:
Visual Basic: [code]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[/code][code]
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 = 256

Function DirDialog(Beschriftung As String) As String
Dim pidl As Long
Dim path As String
Dim bi As BrowseInfo

bi.hwndOwner = Screen.ActiveForm.hWnd
bi.lpszTitle = lstrcat(Beschriftung, "")
bi.ulFlags = BIF_RETURNONLYFSDIRS
pidl = SHBrowseForFolder(bi)

If pidl Then
path = String(MAX_PATH, 0)
SHGetPathFromIDList pidl, path
CoTaskMemFree pidl
path = Left(path, InStr(path, vbNullChar) - 1)
End If
DirDialog = path
End Function
[/code]
Verwendung:
Visual Basic: [code]
Dim sDir As String

sDir = DirDialog("C:") 'Beispiel
If LenB(sDir) <> 0 Then
'Euer code
End If
[/code]
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Source Codes

Tags: ordner dialog, visual basic

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Problem mit always on top funktion 1106 30.10.2009, 12:26
Keine neuen Beiträge IntStr()funktion 1303 11.10.2007, 09:49
Keine neuen Beiträge TopMost Funktion unter DirectX 1021 27.07.2007, 11:48
Keine neuen Beiträge Wie Funktion nutzen ? 1213 29.06.2007, 21:59
Keine neuen Beiträge update funktion einbauen 1455 29.01.2007, 00:11
 


[ Time: 0.4996s ][ Queries: 80 (0.3399s) ][ GZIP on - Debug on ]