TREEVIEW控件的属性checkbox=true,请问改变checked状态激发的事件是什么?
TREEVIEW控件的属性checkbox=true,请问改变checked状态激发的事件是什么?
流方大侠,虽然树会自动处理,但是我还想实现这样的功能:当选中父项时,该节点下的所有子项被选中;如果选择某一子项,则该子项的所有父辈被选中。因此,自动处理不能满足要求。需要捕获该事件加以处理。
后来我在other事件中编程,当消息为TVM_HITTEST(message.Number=4369)时,在MSDN中描述lparm返回结构TVHITTESTINFO的地址,该结构中含有STATE的值,但是好像PB的TREEVIEW控件不是标准的TREEVIEW控件,lparm返回并没有得到正确的值。
请指教。
我自己解决了,在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