软件注册站
热情软件屋

 
如何控制ListView控件每一个ListItem的背景和前景颜色
编号: QA004016    
建立日期: 2001年3月22日 最后修改日期: 2001年5月6日
所属类别: Visual Basic - Windows 9x控件
   
    本问题涉及的操作系统 win98/win2000
    本问题涉及的编程工具 VB
    如何控制ListView控件每一个ListItem的背景和前景颜色(而不是同时控制所有的ListItem),可以做到吗?
    有没有什么比较简单的方法显示出整台电脑的树状文件夹结构,就象资源管理器里面的那样?是用TreeView吗?好象太麻烦了吧。
    谢谢!
    个人的水平 :中级 (蔡敏)
   
    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

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio