WinAPI怎么获取工具栏里面的按钮,并模拟点击事件?

本人学习C#,现在已经通过API获取到窗体句柄和TToolBar控件的句柄,可是用SPY++ 查看TToolBar控件,没有内部的各个控件(按钮、文本等)的句柄了,各位大侠,能不能提供一个解决的办法?具体怎么实现?谢谢

2个回答

TToolBar是Delphi/BCB 自己画的控件,不是标准的windows公共控件,没有办法得到单个的按钮。
你可以用鼠标事件配合算好的偏移坐标去模拟点击。

xinxin1130
xinxin1130 回复caozhy: 恩,谢谢
接近 5 年之前 回复
xinxin1130
xinxin1130 回复caozhy: 恩,谢谢
接近 5 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复xinxin1130: 如果你不怕麻烦,可以去°内存。但是我觉得没有必要。
接近 5 年之前 回复
xinxin1130
xinxin1130 回复caozhy: 我想问问,能不能通过什么办法获取按钮上的文本,直接获取按钮的坐标位置呢?
接近 5 年之前 回复
xinxin1130
xinxin1130 我现在使用的就是这个办法,谢谢
接近 5 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复xinxin1130: 你看下vcl的源代码就知道,vcl也是根据坐标算出来的。
接近 5 年之前 回复
xinxin1130
xinxin1130 恩,这个我知道,感觉即使是画的控件,既然在每个按钮位置有单独的单击事件,应该就有办法获取的
接近 5 年之前 回复

对方的控件是自己画的,是通过左键按下弹起的消息然后计算单击的位置坐标判断的,你自然需要计算坐标发送左键按下弹起的消息,因为对方也是根据坐标,所以就不用考虑wm_command的事了,直接用wm_lbuttondown即可

xinxin1130
xinxin1130 谢谢
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问