CTreeCtrl图标与节点名称间的连线问题 怎么让图标前出现“+”和“-”号呢?还有就是怎么让图标和节点名称之间出现虚线呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 属性设置+ - 号:Has Buttons true虚线:Has Lines true 创建之后调用GetWindowLong以GWL_STYLE 为参数获得其style,而后调用SetWindowLong同样以GWL_STYLE 为参数设置其风格。其中:TVS_HASLINES, TVS_LINESATROOT, and TVS_HASBUTTONS这几个参数可以满足你的要求。从字面上就可以推测出其意思来了吧 1、让图标前出现“+”和“-”号: a、插入结点时设置 在你创建好树型视图时,是个空的树型视图,要用TreeView_InsertItem向树型视图添加结点。这是就是涉及到一个结构体TV_INSERTSTRUCT,该结构体TV_INSERTSTRUCT中又有另一个与结点直接相关的结构体TV_ITEM,看看TV_ITEM中的cChildren:cChildren Indicates whether the item has associated child items. It is one of the following values. 0 - The item has no child items. 1 - The item has one or more child items. 只要将cChildren设置成1就标识有子结点,有字节点就能显示“+”和“-” b、创建好后设置 思想与上面相同,只要将TV_ITEM的cChildren设置成1就可,代码说明:TV_ITEM tvi;tvi.hItem = hParent; // 要设置的结点的句柄tvi.mask = TVIF_CHILDREN;tvi.cChildren = 1; // 指定子结点个数为1,便会显示"+","-"号TreeView_SetItem(GetDlgItem(hWnd,ID_TREEV),&tvi);2、图标和节点名称之间出现虚线 看看我的树型视图的样式总结就懂了。 具有 TVS_HASBUTTONS 样式的树控件 (Tree Control) 在每一父项的左边添加一个按钮。单击该按钮可展开或折叠子项,这是除了用双击父项的方法展开或折叠子项以外的另一种方法。 TVS_HASBUTTONS 样式不向在层次结构根位置的项添加按钮。若要向层次结构根位置的项添加按钮,必须组合 TVS_HASLINES、TVS_LINESATROOT 和 TVS_HASBUTTONS 样式。 TVS_HASLINES 样式通过在子项与其相应的父项之间画上一条连线,增强了树控件 (Tree Control) 层次结构的图形化表示形式。这种样式不链接层次结构根位置的项。若要链接层次结构根位置的项,需要组合 TVS_HASLINES 和 TVS_LINESATROOT 样式。 TVS_LINESATROOT - 在根/子结点之间绘制连线,如果没有指定TVS_HASLINES风格,该风格也就会被忽略。 TVS_EDITLABELS - 使用户编辑树控件项的标签成为可能。 TVS_SHOWSELALWAYS - 在失去焦点时也显示当前选中的结点; TVS_DISABLEDRAGDROP - 不允许Drag/Drop(拖拽) TVS_NOTOOLTIPS - 禁用树视图 (TreeView) 控件的自动工具提示功能。当鼠标光标移到某项上时,如果该项的整个标题当时是不可见的,则自动工具提示功能自动显示工具提示,其中就包含该项的标题。 TVS_SINGLEEXPAND – 当选中某一结点,结点将被自动展开 如何以编程的方式设置Combo Box的下拉长度? GetDibits总返回0 读乱码文件,急急急!!!!!!! 求清晰的《vc技术内幕(第四版)》中文版 com口的数量? qq的界面是怎么做的啊? C++问题,有兴趣钻研的看看 通过一个什么函数可以把一个窗口始终显示在多个窗口的最前面? 请问这个有谁熟悉56K MODEM 的V.90协议? 帮助111 线程间通信问题 如何得到我的DLL被调用时的实例句柄?
+ - 号:Has Buttons true
虚线:Has Lines true
TVS_HASLINES, TVS_LINESATROOT, and TVS_HASBUTTONS这几个参数可以满足你的要求。从字面上就可以推测出其意思来了吧
a、插入结点时设置
在你创建好树型视图时,是个空的树型视图,要用TreeView_InsertItem向树型视图添加结点。这是就是涉及到一个结构体TV_INSERTSTRUCT,该结构体TV_INSERTSTRUCT中又有另一个与结点直接相关的结构体TV_ITEM,看看TV_ITEM中的cChildren:
cChildren
Indicates whether the item has associated child items. It is one of the following values.
0 - The item has no child items.
1 - The item has one or more child items.
只要将cChildren设置成1就标识有子结点,有字节点就能显示“+”和“-”
b、创建好后设置
思想与上面相同,只要将TV_ITEM的cChildren设置成1就可,代码说明:
TV_ITEM tvi;tvi.hItem = hParent; // 要设置的结点的句柄
tvi.mask = TVIF_CHILDREN;
tvi.cChildren = 1; // 指定子结点个数为1,便会显示"+","-"号
TreeView_SetItem(GetDlgItem(hWnd,ID_TREEV),&tvi);2、图标和节点名称之间出现虚线
看看我的树型视图的样式总结就懂了。
具有 TVS_HASBUTTONS 样式的树控件 (Tree Control) 在每一父项的左边添加一个按钮。单击该按钮可展开或折叠子项,这是除了用双击父项的方法展开或折叠子项以外的另一种方法。
TVS_HASBUTTONS 样式不向在层次结构根位置的项添加按钮。若要向层次结构根位置的项添加按钮,必须组合 TVS_HASLINES、TVS_LINESATROOT 和 TVS_HASBUTTONS 样式。
TVS_HASLINES 样式通过在子项与其相应的父项之间画上一条连线,增强了树控件 (Tree Control) 层次结构的图形化表示形式。这种样式不链接层次结构根位置的项。若要链接层次结构根位置的项,需要组合 TVS_HASLINES 和 TVS_LINESATROOT 样式。
TVS_LINESATROOT - 在根/子结点之间绘制连线,如果没有指定TVS_HASLINES风格,该风格也就会被忽略。
TVS_EDITLABELS - 使用户编辑树控件项的标签成为可能。
TVS_SHOWSELALWAYS - 在失去焦点时也显示当前选中的结点;
TVS_DISABLEDRAGDROP - 不允许Drag/Drop(拖拽)
TVS_NOTOOLTIPS - 禁用树视图 (TreeView) 控件的自动工具提示功能。当鼠标光标移到某项上时,如果该项的整个标题当时是不可见的,则自动工具提示功能自动显示工具提示,其中就包含该项的标题。
TVS_SINGLEEXPAND – 当选中某一结点,结点将被自动展开