VB中如何通过对话框可以选择路径(文件夹)?
默认的通用对话框好象只能够选择文件,是针对某个具体文件的.但是现在有需求让用户通过通用对话框设置/确定路径(文件夹),那么这该如何实现呢?
请高手们指点一下该怎样做?
[解决办法]
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BROWSEINFO) As LongPrivate Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As LongPrivate Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As LongPrivate 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 LongEnd TypePrivate Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As StringEnd Type'======================================='打开文件夹'=======================================Public Function GetDirName() As String Dim bi As BROWSEINFO Dim r As Long Dim pidl As Long Dim path As String Dim pos As Integer bi.pidlRoot = 0& bi.lpszTitle = srtTitle bi.ulFlags = 1 pidl = SHBrowseForFolder(bi) path = Space$(512) r = SHGetPathFromIDList(ByVal pidl&, ByVal path) If r Then pos = InStr(path, Chr$(0)) GetDirName = Left(path, pos - 1) Else: GetDirName = "" End IfEnd Function
[解决办法]
用API函数实现文件夹列表(VB6): http://www.zhujiangroad.com/html/soft/s3742.html
VB6中用API函数实现文件夹列表: http://www.ipv6.in/articleview/2005-12-6/article_view_3598.htm
[解决办法]
要什么控件啊,API函数呼叫而已。
来迟了。被人抢先回答了。