RT,程序里面用了listview 和 treeview但是,发现一个问题:比如同时有2个listview存在,一个是5.0的控件(listview5),一个是6.0的控件(listview6)如果先引用的是common control 5.0,那么类似listview5.ListItems.Add(, , ItemName, , 1)
listview6.ListItems.Add(, , ItemName, , 1)这样的Add语句,listview5运行正常,listview6就会报错:实时错误13 类型不匹配反之也是这样,也就是说,后来被引用的控件不能正常运作。因为要用到windows的主题(manifest),所以两个控件要并存,请问如何解决???

解决方案 »

  1.   

    我这里操作没有问题,我的操作步骤是在控件中加入Windows Common Control 5.0以及Windows Common Control 6.0,在控件工具箱中会出现两个ListView的图标,分别添加两个控件然后添加内容。没有问题。
      

  2.   

    我又折腾了一个晚上还是不行分不够再加,这个问题很郁闷,麻烦看看这个,写了几行,在我这里会报错:http://www.ayang365.com/files/comctltest.rar用comctl 6.0 是因为6.0版本的listview可以给report类型的列表项加上一深一浅的背景(用picture属性),用comctl 5.0 是因为xp的显示效果,哎,真是郁闷啊!!我也想不用comctl6.0的控件,可是在listview加深浅的背景色这个非常的棘手,不知道各位有何高见?先谢谢了!!
      

  3.   

    呵呵,刚刚找到了comctl 5.0控件 的 listview 添加背景图片的办法:http://vbnet.mvps.org/index.html?code/comctl/lvbackground.htm
      

  4.   

    建议:
    如果你用 Sp6,在前面加 MSComctlLib,例如MSComctlLib.Listview, MSComctlLib.Imagelist, MSComctlLib.NodePublic Sub AutoSizeLastColumn(lvListView As MSComctlLib.ListView)
    'your code here
    End SubPublic Function AddIconToImageList( _
                                       ByVal sFile As String, _
                                       ByRef ilsThis As MSComctlLib.ImageList, _
                                       ByVal sDefault As String _
                                       ) As String
    End FunctionPrivate mnDragNode As MSComctlLib.Node Good Luck!
      

  5.   

    呵呵,托VBAdvisor(Sunlight)的福,问题解决了:)
    原来是这么回事,Dim AddList As ComctlLib.ListItem /node /imagelist (5.0)
    Dim AddList0 As MSComctlLib.ListItem (6.0)在5.0、6.0控件共存的时候,在定义或者函数、过程里面,加上上面的定义就行了!不过我还是决定全部统一成5.0的控件了,呵呵,listview5.0没有整行选择、表格线等等,上面那个链接的网址已经全部用api解决掉了,一样很好用。结贴,给分,呵谢谢大家。
      

  6.   

    非常感谢VBAdvisor(Sunlight)和softice616,受益~~