Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

BrowseFolders - Show the BrowseForFolders standard dialog

Total Hit ( 4252)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 


Copy/Paste The following code in form and press F5 to run the demo

Click here to copy the following block
Option Explicit

Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
    "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal _
    hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _
    "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

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 Type SHITEMID
  cb As Long
  abID As Byte
End Type

Private Type ITEMIDLIST
  mkid As SHITEMID
End Type

Private Const BIF_RETURNONLYFSDIRS = &H1
Private Const BIF_DONTGOBELOWDOMAIN = &H2
Private Const BIF_STATUSTEXT = &H4
Private Const BIF_RETURNFSANCESTORS = &H8
Private Const BIF_BROWSEFORCOMPUTER = &H1000
Private Const BIF_BROWSEFORPRINTER = &H2000


' Show the standard "BrowseForFolder" dialog to select a folder.
' hWnd is the handle of the parent form
' DialogText is an optional message to show on the dialog
'
' Example: MsgBox "You selected " & BrowseFolders(Me.hwnd,
' "Select your favourite folder")

Function BrowseFolders(ByVal hwnd As Long, Optional ByVal DialogText As String = _
  "@@@") As String
  Dim BI As BROWSEINFO
  Dim lID As Long
  Dim szPath As String

  BI.hOwner = hwnd
  ' if specified, set the dialog's descriptive text
  If DialogText <> "@@@" Then BI.lpszTitle = DialogText
  ' return physical folders only
  BI.ulFlags = BIF_RETURNONLYFSDIRS
  szPath = Space$(1024)
  ' show the dialog
  lID = SHBrowseForFolder(BI)

  ' get the path from the returned ID, otherwise return a null string
  If SHGetPathFromIDList(ByVal lID, ByVal szPath) Then
    BrowseFolders = Left$(szPath, InStr(szPath, vbNullChar) - 1)
  End If
End Function

Private Sub Form_Load()
  MsgBox BrowseFolders(Me.hwnd, "Pick Something")
End Sub


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.