13. WINCC -- C脚本实现弹窗调用(根据鼠标更改弹窗位置)

C脚本实现弹窗调用(根据鼠标更改弹窗位置)

cpp 复制代码
#include "apdefap.h"
void Click(char* lpszPictureName, char* lpszObjectName )
{
#define H 300  //弹窗高度(可以不用只需要在弹窗属性中选择调整大小即可)
#define W  250  //弹窗宽度(可以不用只需要在弹窗属性中选择调整大小即可)
#define WH 920  //弹窗所在窗口宽度
#define WW 1920 //弹窗所在窗口高度
#define TEXT "单输出电机2" //弹窗标题
#define TAGPREFIX "M2"  //弹窗变量前缀
#define PICTURENAME "@单输出电机.PDL"  //弹窗内容(需要设置好变量后缀)
#define WINDOW "PIC_WINDOW1" //弹窗名称,在当前窗口设置

SetPropBOOL(lpszPictureName,WINDOW,"Visible",0); //关闭上一个弹窗
SetPropChar(lpszPictureName,WINDOW,"CaptionText",TEXT);	//返回类型:BOOL 
SetPropChar(lpszPictureName,WINDOW,"tagprefix",TAGPREFIX);	//返回类型:BOOL 
SetPropChar(lpszPictureName,WINDOW,"PictureName",PICTURENAME);	//返回类型:BOOL 
//根据鼠标获取弹窗显示位置(不会超出当前窗口的大小)
SetWidth(lpszPictureName,WINDOW,W);
SetHeight(lpszPictureName,WINDOW,H);
 if    ((WW-W)<GetLeft(lpszPictureName,lpszObjectName))
       SetLeft(lpszPictureName,WINDOW,WW-W-50); 
else 
       SetLeft(lpszPictureName,WINDOW,GetLeft(lpszPictureName,lpszObjectName)+50); 
 if    ((WH-H)<GetTop(lpszPictureName,lpszObjectName))
       SetTop( lpszPictureName,WINDOW,WH-H-70);
else 
       SetTop( lpszPictureName,WINDOW,GetTop(lpszPictureName,lpszObjectName)+70);
SetPropBOOL(lpszPictureName,WINDOW,"Visible",1); //显示当前弹窗
}
相关推荐
weixin_307779135 分钟前
PySpark实现ABC_manage_channel逻辑
开发语言·python·spark
豆沙沙包?1 小时前
8.学习笔记-Maven进阶(P82-P89)
笔记·学习·maven
??? Meggie1 小时前
【Python】保持Selenium稳定爬取的方法(防检测策略)
开发语言·python·selenium
醉暮天2 小时前
4.25学习——文件上传之00截断
学习
酷爱码3 小时前
如何通过python连接hive,并对里面的表进行增删改查操作
开发语言·hive·python
画个大饼3 小时前
Go语言实战:快速搭建完整的用户认证系统
开发语言·后端·golang
喵先生!4 小时前
C++中的vector和list的区别与适用场景
开发语言·c++
Thomas_YXQ5 小时前
Unity3D Lua集成技术指南
java·开发语言·驱动开发·junit·全文检索·lua·unity3d
xMathematics5 小时前
计算机图形学实践:结合Qt和OpenGL实现绘制彩色三角形
开发语言·c++·qt·计算机图形学·cmake·opengl
blackA_5 小时前
数据库MySQL学习——day4(更多查询操作与更新数据)
数据库·学习·mysql