 |
VB6的ListView控件的ListItem对象都有ForeColor属性可以设置前景色,都有Bold属性可以将文字加粗,但是没有设置每个ListItem背景色的属性。
要显示树状文件夹,当然要使用TreeView。如果你嫌麻烦,可以在http://askpro.east.net.cn/xplorer.exe下载免费的COMcache Xplorer Control Set控件。
蔡敏的意见:
在第二个问题中,如果是为了得到一个文件夹的路径,也可以用下面两个API函数:
SHBrowseForFolder 打开浏览对话框,返回所选文件夹ID号
SHGetPathFromIDList 从ID号获得路径字符串
下面的函数过程演示了如何使用这两个函数:
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 Const BIF_RETURNONLYFSDIRS = &H1
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 Function GetBrowseDir(Message As String) As String
Dim bi As BROWSEINFO
Dim tmpPath As String
Dim pidl As Long
bi.hOwner = 0&
bi.pidlRoot = 0&
bi.lpszTitle = Message
bi.ulFlags = BIF_RETURNONLYFSDIRS
pidl = SHBrowseForFolder(bi)
tmpPath = Space$(512)
Rtn = SHGetPathFromIDList(ByVal pidl&, ByVal tmpPath)
tmpPath = RTrim(tmpPath)
GetBrowseDir = Left(tmpPath, Len(tmpPath) - 1)
End Function
说明:参数Message是要在浏览对话框中显示的提示字符串。另外最后一行的作用是去掉路径字符串末尾的无效字符,如果不去掉容易引起错误。程序在VB6.0中测试通过。
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, Windows 9x控件, listview, treeview, monthview, progress bar。
|