想做类似foxmail中的那种效果,不知道如何能实现。

解决方案 »

  1.   

    参考:http://shhuachen.vicp.net/boe/article/doc_010a.htm
    http://www.vbaspnew.com/ziyuan/w/ct/70.txt
    http://www.mypcera.com/softxue/vb/new/m57.htm
      

  2.   

    listview绑定imagelistDim i As Integer
    Dim RItem As ListItemListView1.View = lvwReport
    ListView1.ColumnHeaders.Add , , "id"
    ListView1.ColumnHeaders.Add , , "name"
    ListView1.ColumnHeaders.Add , , "msg"
    For i = 1 To 9
        Set RItem = ListView1.ListItems.Add(, , i, 1, 1)'这里的数字代表imagelist中的图片索引
    Next
    Set RItem = Nothing
      

  3.   

    楼上的可能误解楼主的意思,listview只能在第一列加入图标,楼主的意思是要在任何列加入图标,我想光靠listview可能无法实现。
      

  4.   

    但是好像foxmail也不是每一列都有图标啊。
      

  5.   

    你可以考虑用这两个免费、带源码的控件:http://www.vbaccelerator.com/home/VB/Code/Controls/S_Grid/article.asp
    http://www.vbaccelerator.com/home/VB/Code/Controls/S_Grid_2/S_Grid_2/article.asp
    http://www.vbaccelerator.com/home/VB/Code/Controls/ListView/article.asp这几个控件功能超级强大,你看看贴图就知道了。
      

  6.   

    谢谢,感谢阁下的文章。
    不过,我想实现的不是用listview的icon或者smallicon,而是能不能象foxmail中,标记信件是否读取的那个蓝色点一样。不知道用VB能不能做成这样?
      

  7.   

    我的意思就是 frankwong(黄梓钿) 所说的那样。
    感谢大家的热情帮助
      

  8.   

    加两个IamgeList控件装在图标!
    然后连接到ListView的Icon,SamllIconDim i As Integer
    Dim RItem As ListItemListView1.View = lvwReport
    ListView1.ColumnHeaders.Add , , "id"
    ListView1.ColumnHeaders.Add , , "name"
    ListView1.ColumnHeaders.Add , , "msg"
    For i = 1 To 9
        Set RItem = ListView1.ListItems.Add(, , i, 1, 1)'这里的数字代表imagelist中的图片索引
    Next
    Set RItem = Nothing
      

  9.   

    @ csdnHelp(你好吗?) 
    多谢阁下的热情帮忙。
    不过细看上述讨论的帖子,不是使用icon或者smallicon。
      

  10.   

    我这里没有安装foxmail,不过outlook应该差不多,我查了一下,它使用的实际是一个supergrid类的窗口。你可以考虑使用上面提供给你的S-Grid控件,包含源码。http://www.vbaccelerator.com/home/VB/Code/Controls/S_Grid_2/S_Grid_2/article.asp