[img=http://hi.csdn.net/attachment/201112/2/8643947_13227874283Fmx.jpg]我设置所有没有子节点的节点的显示图片[/img]
------最佳解决方案--------------------
主要是设置treeview的picturename[]属性,然后添加节点时,为节点设置PictureIndex和SelectedPictureIndex,但是picturename[]属性在运行过程中无法删除,只能添加,如果你想在运行过程中动态修改图片,只能通过
int li
li = tv_1.AddPicture("图片路径")
来添加图片,然后通过递归遍历所有节点,将child为false的节点的PictureIndex和SelectedPictureIndex动态修改为 li
------其他解决方案--------------------
如图设置所有没有子节点的节点lable前面的图片
------其他解决方案--------------------
太基础了 不想说
------其他解决方案--------------------
//cb_1 clecked事件
long ll_handle, ll_level, ll_leveltmp
treeviewitem ltvi_1
ll_handle = il_handle
tv_1.getitem(ll_handle,ltvi_1)
ll_level = ltvi_1.level
ll_leveltmp = ll_level + 1
do while ll_leveltmp > ll_level
ll_handle = tv_1.finditem(NextVisibleTreeItem! ,ll_handle)
if ll_handle < 0 then exit
tv_1.getitem(ll_handle,ltvi_1)
ll_leveltmp = ltvi_1.level
if ll_leveltmp > ll_level and ltvi_1.children=false then
ltvi_1.pictureindex=2
messagebox( '', ltvi_1.label )
end if
tv_1.expandall(ll_handle)
loop
这么写怎么不好使啊?
------其他解决方案--------------------
函数TreeList(long handle ; treeview tv_tree)
long ll_Handle
Treeviewitem ltvi_Item
ll_Handle = Tv_Tree.finditem(ChildTreeItem!,handle)
do while ll_Handle <> -1
Tv_Tree.Getitem(ll_Handle,ltvi_Item)
//根据ltvi_Item做相应的操作
//ltvi_Item即取出的节点,
//ltvi_Item.statepictureindex 节点状态,一般用来区分复选框
//ltvi_Item.label 节点标题
//ltvi_Item.data 节点创建时存放的数据
TreeList(ll_Handle,tv_tree)
ll_Handle = Tv_Tree.finditem(NextTreeItem!,ll_handle)
loop
调用TreeList(0)即可完成整颗树的遍历
------其他解决方案--------------------
设置完pictureindex后,需要再setitem(ll_handle, ltvi_1)
------其他解决方案--------------------
f_tree_child_setpic(treeview atv, long al_handle, int ai_pictureindex)
long ll_Handle
Treeviewitem ltvi_Item