{}

我们的品牌

欢迎访问施耐德电气网站

欢迎访问我们的网站。
搜索常见问题解答
Citect双屏的时候怎样计算鼠标的位置?
问题描述:
Citect双屏的时候怎样计算鼠标的位置?

所属产品线:
AVEVA™ Plant SCADA

解决方法:

通过函数DspGetMouse(X, Y)可以获取鼠标当前的位置,但该函数有个缺陷,就是它获取的鼠标位置是一个相对位置,相对于当前的画面所在的起始点的偏移XY值。
但是对于多屏工程中,有时候我们需要获取鼠标的绝对位置,既相对于第一个屏幕的左上角的偏移量,用于调整如Formnew()函数弹出来的窗口位置,比如再哪个屏幕点的formnew(),弹出窗口就产生在哪个屏幕
所以,我们需要计算鼠标的绝对位置,那么我们需要借助一个函数pageinfo()
如下代码:
Int iX,iY
int iABSX,iABSY
DspGetMouse(X, Y);
iABSX=pageinfo(28)+iX*pageinfo(16)
iABSY=pageinfo(29)+iY*pageinfo(17)
注:pageinfo(28)代表了当前画面偏离了第一个屏幕原点X的绝对位置
pageinfo(29)代表了当前画面偏离了第一个屏幕原点Y的绝对位置
pageinfo(16)代表了当前画面X坐标的变比(如果设置了dynamicsizing=1,变比就会随屏幕分辨率变化)
pageinfo(17)代表了当前画面Y坐标的变比。



是否有帮助?

探索更多
范围:
探索更多
范围: