TREEVIEW控件的属性checkbox=true,请问改变checked状态激发的事件是什么?

TREEVIEW控件的属性checkbox=true,请问改变checked状态激发的事件是什么?
[49 byte] By [Leehunter-理性猎人] at [2008-5-27]
# 1
多个~~
先考虑click~~
# 2
不行,按空格键怎么办?别告诉我还要考虑key~~。
再说,我已经试过click了,会有别的问题。因为在事件触发时,状态并没有改变。这样在缩进和展开时会出现其它情况。
Leehunter-理性猎人 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,控件与界面...
# 3
快来帮忙!
Leehunter-理性猎人 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,控件与界面...
# 4
快来帮忙!
Leehunter-理性猎人 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,控件与界面...
# 5
在tv的itempopulate事件中编程,这样不用考虑这么多,它在第一次打开某个项时触发。
programbcb-datawindow at 2007-10-24 > top of Msdn China Tech,PowerBuilder,控件与界面...
# 6
错了。
programbcb-datawindow at 2007-10-24 > top of Msdn China Tech,PowerBuilder,控件与界面...
# 7
树通过鼠标和键盘自动处理。

check状态一般取state picture对应的索引得到:
Unchecked = 1
Checked = 2
liulee-流方 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,控件与界面...
# 8
流方大侠,虽然树会自动处理,但是我还想实现这样的功能:当选中父项时,该节点下的所有子项被选中;如果选择某一子项,则该子项的所有父辈被选中。因此,自动处理不能满足要求。需要捕获该事件加以处理。
后来我在other事件中编程,当消息为TVM_HITTEST(message.Number=4369)时,在MSDN中描述lparm返回结构TVHITTESTINFO的地址,该结构中含有STATE的值,但是好像PB的TREEVIEW控件不是标准的TREEVIEW控件,lparm返回并没有得到正确的值。
请指教。
Leehunter-理性猎人 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,控件与界面...
# 9
我自己解决了,在mousemove中编写如下代码
其中getiteminfo为user32.dll中的SendMessageA
//测试是否为点中状态图标
tvhittestinfo ltvitem

ltvitem.pt.x = UnitsToPixels (xpos, XUnitsToPixels! )
ltvitem.pt.y = UnitsToPixels (ypos, YUnitsToPixels! )
getiteminfo(handle(this),4369,0,ltvitem)
IF ltvitem.hItem = 0 then return
IF ltvitem.flags = 64 Then
ib_state = true
Else
ib_state = false
End IF
Leehunter-理性猎人 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,控件与界面...