VB6.0 浏览文件夹对话框 选择文件保存路径
2011-06-17 15:07:06| 分类: 文件选择对话框 | 标签: |字号大中小 订阅
第一步:新建一个Modules,假设为Modulas1.bas
把下面的复制到Module.bas中
Public Const BIF_RETURNONLYFSDIRS = 1
Public Const BIF_DONTGOBELOWDOMAIN = 2
Public Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (LpBrowseInfo As BROWSEINFO) As Long
Public Declare Function SHGetPathFromIDlist Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Public 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
Public Function GetFolder(ByVal hWnd As Long, Optional Title As String) As String
Dim bi As BROWSEINFO
Dim pidl As Long
Dim folder As String
folder = Space(255)
With bi
If IsNumeric(hWnd) Then .hOwner = hWnd
.ulFlags = BIF_RETURNONLYFSDIRS
.pidlroot = 0
If Title <> "" Then
.lpszTitle = Title & Chr$(0)
Else
.lpszTitle = "选择目录" & Chr$(0)
End If
End With
pidl = SHBrowseForFolder(bi)
If SHGetPathFromIDlist(ByVal pidl, ByVal folder) Then
GetFolder = Left(folder, InStr(folder, Chr$(0)) - 1)
Else
GetFolder = ""
End If
End Function
第二步:然后在你的窗体Form1中添加Command1的单击事件了
Private Sub Command1_Click()
Dim str
str = GetFolder(Me.hWnd, "浏览文件夹")
If str <> "" Then
Combo1.Text = str
Combo1.AddItem (str)
End If
End Sub
GetFolder函数返回文件夹的路径,比如你选择了System32文件夹,单击确定后,返回"c:\System32"
这样就实现了选择文件存储路径的问题了~