首页
社区
课程
招聘
如何获取到checkbox那个正方形的小方块位置呢
发表于: 2009-7-20 21:19 6405

如何获取到checkbox那个正方形的小方块位置呢

2009-7-20 21:19
6405
我们要做一个工程,里面要获取别人的checkbox的位置和选中状态,并且这个checkbox是作为treeitem的一个子控件出现的,请问如何得到这个小方块的位置呢?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 97
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
说说思路吧:

使用WindowFromPointer、FindWindow等得到窗口句柄
使用GetWindowRect获得窗口位置
使用ClientToScreen、ScreemToClient等进行坐标系转换

希望对你有用!
2009-7-21 14:22
0
雪    币: 170
活跃值: (45)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
你这些方法根本就得不到这个小控件的句柄,不然我也不致于到这里发问了。也许读句柄表有办法,但是我不会。
2009-7-21 21:33
0
雪    币: 97
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
首先,那个Tree的句柄应该不难得到

如果那个小空件是那个tree的子窗口或者子窗口的子窗口的话,通过EnumChildWidnows应该可以得到每一个子窗口的句柄,根据句柄,你可以得到其屏幕位置、Title等,以确定是否是你想要的
如果那个小窗口根本就不是一个windows窗口,那就没辙了,Tree控件的实现千差万别,不能保证你的问题就一定能够解决

祝你好运!
2009-7-22 11:09
0
雪    币: 97
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
有可能Tree的每一个TreeItem完全是自画的,TreeItem的定位是根据Tree的各个Item可见状态以及Item所在的层次加上整个TreeView的滚动位置等信息算出来的,那样的话要想得到另一个进程的一个确定Tree的一个确定的Item的位置是相当困难的,几乎是不可能的。
2009-7-22 11:25
0
雪    币: 170
活跃值: (45)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
每一个Item的句柄和位置我都得到了,现在就是没办法得到Item上面的那个checkbox的位置和句柄。
2009-7-22 20:29
0
雪    币: 97
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
Item的位置都知道了,作为Item一部分的那个checkbox的位置一般相对于Item是固定的,item的位置加一个偏移就可以了。
2009-7-23 09:17
0
雪    币: 160
活跃值: (272)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
实在不行就扫描DC颜色,总能找到吧?
2009-7-23 10:31
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
有可能根本就不是一个窗口,直接贴副图上去的
2009-7-23 22:00
0
雪    币: 125
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
钩住
DrawFrameControl试试

MSDN的介绍:

TVS_CHECKBOXES
Version 4.70. Enables check boxes for items in a tree-view control. A check box is displayed only if an image is associated with the item. When set to this style, the control effectively uses DrawFrameControl to create and set a state image list containing two images. State image 1 is the unchecked box and state image 2 is the checked box. Setting the state image to zero removes the check box altogether.
2009-7-28 18:37
0
游客
登录 | 注册 方可回帖
返回
//