一、实现方法
在实现树型控件的背景位图之前,我们首先介绍一下树型控件的基本使用方法。树形
控件在系统中大量被使用,例如 资源管理器就是一个典型的例子。树形控件可
以用于树形的结构,其中有一个根接点然后下面有许多子结点,而每个子结点上又
允许有一个或多个或没有子结点。
中使用 类来封装树形控件的各种操作,通过调用
!"#$#%创
建一个窗口, 中可以使用以下一些树形控件的专用风格:&'()#$在父*
子结点之间绘制连线;&'#$)在根*子结点之间绘制连线;
&'()"$在每一个结点前添加一个按钮,用于表示当前结点是否已被展开;
&'#)结点的显示字符可以被编辑;&'())+在失去焦点
时也显示当前选中的结点;&'#)),!不允许 -* ;
&'$#!不使用 显示结点的显示字符。
在树形控件中每一个结点都有一个句柄((#),同时添加结点时必须提供
的参数是该结点的父结点句柄(其中根 结点只有一个,既不可以添加也不可以删
除),利用 (###.! /#.(#0!1
&#'(#0#)21&#')可以添加一个结点, /#. 为显
示的字符,0! 代表父结点的句柄,当前添加的结点会排在 0#)2 表示的结点
的后面,返回值为当前创建的结点的句柄。
如果你希望在每个结点前添加一个小图标,就必需先调用 类的成员函数
#.-#.-#.- #.-#.- ,指
明当前控件所使用的图像列表(#.-),#.- 为 &#'$)。
在调用完成后控件中使用图片以设置的 #.- 中图片为准。然后调用 (#
##.! /#.#.-#.-(#
0!1&#'(#0#)21&#')添加结点,其中参数
#.- 为结点没被选中时所使用图片序号,#.- 为结点被选中时所使用图
片序号。
此外 还提供了一些函数用于得到*修改控件的状态:
3(#,#.将返回当前选中的结点的句柄;
3#.(#0#.将选中指明结点;
3,#.#.-(#0#.#.-
#.-*#.#.-(#0#.#.-
#.-用于得到*修改某结点所使用图标索引;
3-,#.4(#0#.*#.4(#
0#.! /#.用于得到*修改某一结点的显示字符;