vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: BrowseForFolder 
Autor: Kalli
Datum: 28.05.08 23:43

Hi, hier ist etwas - bin sehr müde, daher mußt Du es als GFA-Basic-Code nehmen (local durch dim ersetzen etc.)
public gszDir as string = Startpfad
Function GetFolder(hWnd) As String
Global Const MAX_PATH = 512

'// Browsing for directory.
Public Const BIF_RETURNONLYFSDIRS = &H1
Public Const BIF_DONTGOBELOWDOMAIN = &H2
Public Const BIF_STATUSTEXT = &H4
Public Const BIF_RETURNFSANCESTORS = &H8
Public Const BIF_EDITBOX = &H10
Public Const BIF_VALIDATE = &H20
Public Const BIF_USENEWUI = &H40
Public Const BIF_BROWSEFORCOMPUTER = &H1000
Public Const BIF_BROWSEFORPRINTER = &H2000
Public Const BIF_BROWSEINCLUDEFILES = &H4000
'
'// message from browser
Public Const BFFM_INITIALIZED = 1
Public Const BFFM_SELCHANGED = 2
Public Const BFFM_VALIDATEFAILED = 3
'
'// messages to browser
Public Const BFFM_SETSTATUSTEXT = (WM_USER + 100)
Public Const BFFM_ENABLEOK = (WM_USER + 101)
Public Const BFFM_SETSELECTION = (WM_USER + 102)


Declare Function SHBrowseForFolder Lib "shell32" _
(lpbi As BrowseInfo) As Long

Declare Function SHGetPathFromIDList Lib "shell32" _
(ByVal pidList As Long, _
ByVal lpBuffer As String) As Long

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

Local lpIDList As Long
Local sBuffer As String
Local szTitle As String
Local tBrowseInfo As BrowseInfo
szTitle = "Choose the Folder"
With tBrowseInfo
.hWndOwner = hWnd
.lpszTitle = V:szTitle
.lpfnCallback = ProcAddr(BrowseCallbackProc)
.ulFlags = BIF_USENEWUI + BIF_RETURNONLYFSDIRS + BIF_STATUSTEXT
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
Win_1.Enabled = True
If (lpIDList)
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList(lpIDList, sBuffer)
sBuffer = ZTrim(sBuffer)
Return sBuffer
Else
Return ""
End If
End Func
Function BrowseCallbackProc(hwnd As Handle, uMsg As Int, lp As Long, pData As Long) As Int
Switch(uMsg)
Case BFFM_INITIALIZED :
~SendMessage(hwnd, BFFM_SETSELECTION, True, V:gszDir)
EndSelect
Return 0
EndFunction

Ich hoffe es hilft ein wenig. Diese Function ergibt einen Browser-Suchdialog mit Startpfad und Knopf zur Erzeugung eines neuen Ordners.
Habe selber auch lange gesucht, bis ich es so hin hatte.
Kalle

Dont debug, because there will allways be one more bug

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
BrowseForFolder6.234michi-usa28.05.08 15:23
Re: BrowseForFolder5.543michi-usa28.05.08 16:11
Re: BrowseForFolder5.574ModeratorDieter28.05.08 21:10
Re: BrowseForFolder5.506michi-usa29.05.08 10:45
Re: BrowseForFolder5.624michi-usa28.05.08 16:42
Re: BrowseForFolder5.589Kalli28.05.08 23:43

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel