还是关于treeview的问题,有关checkboxes属性和click事件的!大家帮我

yangbig007 2001-12-06 12:55:24
小弟在一个程序中,treeview控件的click事件下,代码如下:
this.getitem(handle,ltvi_sel)
if ltvi_sel.statepictureindex = 1 then
ltvi_sel.statepictureindex = 2
//有一些数据操作
this.setitem(handle.ltvi_sel)
else
//还有一些对数据的操作
ltvi_sel.statepictureindex = 1
this.setitem(handle.ltvi_sel)
end if
现在问题就在于,如果点击的不是列表项前的复选框,也就是让其高亮,这些操作都还是进行的,可是复选框为什么没有变化?必须点到框里面呢?能不能让click事件屏蔽掉没有点到复选框上的操作呢?拜托大家了!!
...全文
47 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leehunter 2002-02-01
  • 打赏
  • 举报
回复
在mousemove中编写如下代码
其中getiteminfo为user32.dll中的SendMessageA,tvhittestinfo,pt为结构,具体查MSDN
//测试是否为点中状态图标
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 //查查MSDN,里面有flags的详细描述,可以知道点中的
//到底是图标,还是文本,或者状态图标,或者'+','-'号等
ib_state = true
Else
ib_state = false
End IF

你果然是超爆侠,学习需要心平气和的。

yangbig007 2001-12-06
  • 打赏
  • 举报
回复
我现在还发现了一个问题,上面的那些代码在点击的位置在列表项左边的复选框上,和点击在列表项上是不一样的,他们会不会调用的事件驱动不一样呢?你们怎么都这么忙?难道这个问题没有人愿意看?你们是不是高手呀!成天在这上面都干什么了?就为了一点所谓的分,胡说八道的我看是更多些吧!
yangbig007 2001-12-06
  • 打赏
  • 举报
回复
是看不懂还是别的呀,怎么没有人离我?
相关推荐
发帖
PowerBuilder

1028

社区成员

PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
帖子事件
创建了帖子
2001-12-06 12:55
社区公告
暂无公告