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

%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

相关推荐

  • wincc中有循环,如果要想延时的话,有什么好方法?

    如题!谢谢! 最佳答案 wincc中要实现延时,sleep函数要慎用,这个函数挂起进程的。 1,要精确延时的话最好是PLC了实现了。 2,不精确延时的话,可以用…

    SIMATIC WinCC 2019年6月11日
  • OS项目编辑器组态后无趋势按钮

    一个STEP7+WinCC项目(非PCS7),想用OS项目编辑器生成一些功能,“区域”选项内选了“可通过区域按钮和组显示选择画面”但是最终激活运行后发现,趋势按钮等有两个按钮没有(…

    2021年7月5日
  • wincc中如何用C 脚本进行计数

    比如电机的启动次数,怎么用C脚本来进行计数? 最佳答案 你可以内一个内部变量save bool,启动动作start bool if ((sa…

    SIMATIC WinCC 2019年6月11日
  • wincc运行系统许可证

    本来项目在电脑上运行的好好的,由于更换了另外一台电脑上的新项目,打开新项目就出现wincc许可证的存储介质必须插入usb接口。运行时显示演示,应该怎么办 图片说明:  &…

    2021年7月5日
  • PLC与WINCC

    我新买的XP系统的电脑,WINCC画面的参数全是感叹号,PLC是300的,CPU是315-2 DP      …

    SIMATIC WinCC 2017年8月3日
  • wincc 扫描时间

    操作台上有一停止按钮,作用是停止电机, 地址为“I12.0”,我想在这个按钮按下之后,使鼓风机停止,鼓风停止 控制点为:M16.1 上位机上&nbsp…

    SIMATIC WinCC 2020年11月1日
  • 如何移植protool画面程序到winccflexibl?求winccflexible 2008 SP1下载地址

    有一个旧项目用的是protool做的画面,现在要换新的工控机,PROTOOL不支持WIN7,网上查是要用winccflexible 2008 SP1以前的版本能…

    SIMATIC WinCC 2021年7月5日
  • FC105的上下限怎么设置啊?

    如题,比如要设置FC105上限为100,下限为0,该如何设置?直接在HI_LIM或L0_LIM管脚写100或者0是红色的··求教!如果定义1个MD20和MD30值分别为0和100应…

    SIMATIC WinCC 2019年6月11日
  • wincc画面背景

    wincc画面背景或者图片背景怎么能做成透明的? 最佳答案 只能在其它的图片处理软件里弄。 比如 flash,先选定图片,然后右击,选择“分离”,然后用“橡皮擦…

    SIMATIC WinCC 2019年6月11日
  • TP1200 触摸屏数据记录的问题

    我用的TP1200精致面板准备利用F(X)趋势插件来显示对应关系,只要用于历史记录数据的分析,但是我现在组态按必要时采集,采集数据时一直不能保存数据,循环记录的没有问题 …

    2021年7月5日

发表回复

登录后才能评论