网站改版降权,中国石化工程建设有限公司官网,网站 地图导航代码,深圳专业网站建设定制哈喽#xff0c;你好啊#xff0c;我是雷工#xff01;
在用KingSCADA做项目时#xff0c;当我们点击不同的控制按钮#xff0c;都可以弹出对应的控制弹窗。 在常规不做设置的情况下弹窗都是出现在固定的位置#xff0c;要么一直出现在左上角#xff0c;要么一直出现在…哈喽你好啊我是雷工
在用KingSCADA做项目时当我们点击不同的控制按钮都可以弹出对应的控制弹窗。 在常规不做设置的情况下弹窗都是出现在固定的位置要么一直出现在左上角要么一直出现在屏幕中间。 点击很不方便所以想如何实现点击哪里弹窗就在点击位置的附近显示弹窗。 以下为样例实现该过程的记录。
一、效果演示
1、当未添加位置处理脚本时无论点击哪个位置的按钮均在左上角显示弹窗。 2、当添加打开位置的处理脚本后点击不同按钮会在所点击按钮的附近打开弹窗。 二、实现思路
1、先获取鼠标点击位置的X坐标和Y坐标 2、将获取的X坐标再加一个数值作为弹窗要展示位置的X坐标同样Y坐标再加一个数值作为弹窗要展示位置的Y坐标。 3、考虑到若打开位置加上弹窗的尺寸可能超出屏幕尺寸的情况可以做个if判断如果起始位置坐标加上弹窗尺寸会超出屏幕则向反方向展示弹窗。
三、实现步骤
1、首先创建弹窗 2、在主界面创建按钮 3、在按钮点击脚本中添加获取点击位置及展示弹窗位置的坐标。 4、脚本代码
int X,Y;
xGetCursorPosX();
yGetCursorPosY();
if (x3101920)
{xx10;
}
else
{xx-300;
}
if(y180960)
{yy10;
}
else
{yy-170;
}
ShowPictureAt( 弹窗, x, y );5、只要弹窗尺寸一致所有弹窗按钮中均可放入该段代码如果需要类似功能的按钮可以直接复制按钮内部处理代码不用更改比较方便。
四、后记
这是在项目中用到的一种方法或许不够智能但也能实现大家有更好的方法欢迎评论指导。 类似这种不是硬性功能要求的人性化处理更能体现系统实施的品质。 无论SCADA还是C#开发上位机系统有些思路可以相互借鉴有些东西都是相通的。
廊坊市·高楼镇 2023-12-25