如题

解决方案 »

  1.   

    VB6的TreeView没有这个功能。TreeViewX控件(http://www.protoview.com)有这个功能,但这个控件非常贵,估计你不舍得买。有两个解决方案:     1、设置TreeView的CheckBoxes属性为True,这样在每个条目前将显示一个检查框。
     
        2、TreeView提供了一些对多选的支持,但是不象ListBox那么容易实现。如果你使用TVM_SELECTITEM来选择TreeView的条目的话,只能选择一个。但你可以利用TVM_SETITEM来修改每个TreeView条目的TVIS_SELECTED属性,它决定每个条目的选中状态。TVM_SELECTITEM实际上同时修改LVIS_FOCUSED和TVIS_SELECTED属性。具有LVIS_FOCUSED 属性的条目同时只能有一个,而具有TVIS_SELECTED属性的可以同时有多个。Windows在处理TreeView鼠标点击时,它会清除先前具有焦点的条目的TVIS_SELECTED属性,但不会清除其他项的TVIS_SELECTED属性。为了实现多选功能,你还需要处理WM_LBUTTONDOWN消息,以避免Windows清除当前有输入焦点的条目的TVIS_SELECTED属性。这就是实现多选的基本原理。你可以在http://www.techsoft.no/bendik/找到一个基于MFC的类,它实现了多选的功能,你也可以把它改写成SDK方式。 
      

  2.   

    MultiSelect属性为true;
    按ctrl或者alt进行多选就可以了。
    SelectionCount属性为选择节点个数
    Selections//选择节点的集合
      

  3.   

    MultiSelect属性为true;
    按ctrl或者alt进行多选就可以了。
    SelectionCount属性为选择节点个数
    Selections//选择节点的集合
      

  4.   

    rainstormmaster(暴风雨 v2.0) 
    我不太会使用WM_LBUTTONDOWN消息,
    您有这样的例子吗?
    能给我发一个吗?
    [email protected]
      

  5.   

    MultiSelect属性为true;按ctrl或者alt进行多选就可以了。