如何获取窗体内鼠标指针所定位的控件的信息

%ignore_a_1%中的控件,如I/O域等,当鼠标移动到其上时,鼠标的显示样式放生了变化,该控件或说系统是如何判断鼠标移动到其上了?移动到其上后,控件和系统的哪些信息发生了变化,哪些信息可供我们编程人员参考调用。
       我希望实现当鼠标移动到某个控件上时,鼠标的显示样式发生变(此变化是指我自定义的一张图片),并且我能得到鼠标所在控件的辨识信息,即我需要知道哪个控件被选中了。
       请问怎样能实现这样的功能?

问题补充:
wincc中的某些控件(比如标准对象中的矩形)里有“提示文本”的属性,当鼠标悬停至其上时,便会出现提示文本,另外,wincc中的所有控件几乎都有“click”(单击)事件,说明系统其实本身对所有控件的位置和区域信息进行了维护,我现在希望从系统中拿到这些信息,请问有办法吗?

最佳答案

原理:在每个控件都会有一个对应的属性,经过控件显示指针,在Visual studio里控件的这个属性可以直接选择不同的鼠标形状。

wincc里这个属性没有开发出来,但对于一些指定的动作可以选择不同的鼠标形状,可在wincc项目管理器,计算机>属性>运行系统>鼠标指针  对应设置。

如果要获取鼠标位置的话是可以的,可使用脚本获取当前的X,Y 位置。脚本如下:
POINT a;
GetCursorPos(&a);
a. x…
b. y…

比如你的一个控件在10,10位置,控件大小长宽为5
那么通过脚本获取的x,y只要在10-15,y也在10到15范围内,那么说明你的鼠标在这个控件的上面。这条条件满足了那么执行其他的动作就可以操做了。

补充:控件的所处位置可以拿到,可从控件属性中的位置中查看。如果用脚本可可以,可实例化控件,获取实例的位置属性。

提问者对于答案的评价:
虽然我的问题没有得到完美的解决,但依然感谢你如此快速而详细的回答!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc358490.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午10:29
下一篇 2021年7月5日 上午10:29

相关推荐

发表回复

登录后才能评论