Date: 02-16-2022
Return to Index
created by gbSnippets
'Compilable Example: (Jose Includes)
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
%Unicode=1
#Include "Win32API.inc"
Global hDlg As Dword
Function PBMain() As Long
Dialog New Pixels, 0, "Test Code",300,300,200,200, %WS_OverlappedWindow To hDlg
Control Add Button, hDlg, 100,"Push", 50,10,100,20
Dialog Show Modal hDlg Call DlgProc
End Function
CallBack Function DlgProc() As Long
If Cb.Msg = %WM_Command And Cb.Ctl = 100 And Cb.CtlMsg = %BN_Clicked Then
Dim folder As String
folder = OpenDirectory("Select Folder")
If folder <> "" Then
MsgBox "You selected : " & folder
End If
End If
End Function
Function OpenDirectory(Optional odtvTitle As String) As String
Local lpIDList As Long
Local sTitleZ As Asciiz * %Max_Path
Local sBufferZ As Asciiz * %Max_Path
Dim tBrowseInfo As BrowseInfo
sTitleZ = odtvTitle
tBrowseInfo.hwndOwner = hDlg
tBrowseInfo.lpszTitle = VarPtr(sTitleZ)
tBrowseInfo.ulFlags = %BIF_ReturnOnlyFSDirs
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBufferZ = Space$(%MAX_PATH)
SHGetPathFromIDList lpIDList, sBufferZ
sBufferZ = Left$(sBufferZ, InStr(sBufferZ, $Nul) - 1)
OpenDirectory = sBufferZ
End If
End Function
'gbs_00721
'Date: 03-10-2012
http://www.garybeene.com/sw/gbsnippets.htm