您的位置: 网站首页 > 编程乐园 > 阅读文章

伟伟VB编程系列┊用VB选择、定位文件夹

VB选择文件夹

CommonDialog.ShowOpen 可以选择一个文件,但是选定一个文件夹时是默认打开这个文件夹,我现在想只定位到文件夹该怎么办呢?

添加一个Text、Command和Commondialog控件。
程序代码如下:

Option Explicit
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (LpBrowseInfo As BROWSEINFO) As Long
Private Declare Function SHGetPathFromIDlist Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) 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 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
.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
Private Sub Command1_Click()
Text1.Text = GetFolder(Me.hWnd, "请选择一个文件夹:")
End Sub
  • 属于分类: 编程乐园
  • 本文标签:
  • 人气指数: 3,502
  • 文章作者: 野球小子
  • 生产日期: 2007年8月05日 - 10时07分11秒
看看还有没有您感兴趣的:

  • 您的大名(必填)
  • E-Mail (必填)
  • 您的网站(有的话就写一下吧~)
  • 评论内容:(必填)