郴州交易中心:vb的CommonDialog控件
来源:百度文库 编辑:中科新闻网 时间:2024/04/30 06:30:48
请各位仔细的看清楚我的意思,我想实现的是只显示到文件夹这层,再下面层的文件不显示,一楼的恐怕误解了我的意思了,呵呵
不就是调用选择文件夹吗,用这个函数
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 Type SHITEMID
cb As Long
abID As Byte
End Type
Public Type ITEMIDLIST
mkid As SHITEMID
End Type
Function getFolder(frm As Form, Optional Flags As Long = 1) As String
On Error Resume Next
Dim BI As BROWSEINFO
Dim IDL As ITEMIDLIST
Dim r As Long
Dim pidl As Long
Dim tmpPath As String
Dim pos As Integer
BI.hOwner = frm.hwnd
BI.pidlRoot = 0&
BI.lpszTitle = "请选择路径:"
'bi.ulFlags = BIF_RETURNONLYFSDIRS
'BIF_DEFAULT = 0x0000,
'BIF_BROWSEFORCOMPUTER = 0x1000,效果不明
'BIF_BROWSEFORPRINTER = 0x2000,效果不明
'BIF_BROWSEINCLUDEFILES = 0x4000,效果不明
'BIF_BROWSEINCLUDEURLS = 0x0080,效果不明
'BIF_DONTGOBELOWDOMAIN = 0x0002,;效果不明
'BIF_EDITBOX = 0x0010,带文件夹名称编辑框
'BIF_NEWDIALOGstyle = 0x0040,带新建文件夹
'BIF_NONEWFOLDERBUTTON = 0x0200,没有菜单
'BIF_RETURNFSANCESTORS = 0x0008,效果不明
'BIF_RETURNONLYFSDIRS = 0x0001,;默认
'BIF_SHAREABLE = 0x8000,效果不明
'BIF_STATUSTEXT = 0x0004,;效果不明
'BIF_UAHINT = 0x0100,效果不明
'BIF_VALIDATE = 0x0020,效果不明
'BIF_NOTRANSLATETARGETS = 0x0400,效果不明
BI.ulFlags = Flags
'get the folder
pidl = SHBrowseForFolder(BI)
tmpPath = Space$(512)
r = SHGetPathFromIDList(ByVal pidl, ByVal tmpPath)
getFolder = ""
If r Then
pos = InStr(tmpPath, Chr$(0))
tmpPath = Trim(Left(tmpPath, pos - 1))
If Right(tmpPath, 1) <> "\" Then tmpPath = tmpPath & "\"
getFolder = Trim(tmpPath)
End If
End Function
不会吧。把filter属性改成*.doc 试试看。