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); //显示当前弹窗
}
相关推荐
乌暮2 分钟前
深入理解 Java 泛型:把「万能盒子」用对、用稳
java·开发语言·后端·学习
海宇服务25 分钟前
零信任架构实战:基于海宇车型识别精准构建自动化定损网关
运维·人工智能·架构·自动化
2601_9622186139 分钟前
C语言中三种库的编译和使用方法
开发语言·c++
铅笔小新z39 分钟前
【C语言】操作符
c语言
传奇开心果编程1 小时前
中庸、有容、破执:仓颉编程语言的中华智慧结晶——三重哲学境界思辨
开发语言·华为·开源·软件工程
jimy11 小时前
派生类重写基类虚函数(二):override的作用
开发语言·c++
小雪崩1 小时前
嵌入式学习 day60:ARM汇编——触摸屏与SPI
汇编·arm开发·学习
_upupup1 小时前
异常(C++)
java·开发语言·jvm
霸道流氓气质1 小时前
ComfyUI 图像生成工作流完全指南:从节点编排到Java生产级图像生产实战
java·开发语言·人工智能
by209992 小时前
从 malloc/free 到 new/delete:真正理解 C++ 中的内存管理与对象生命周期
c语言·c++·经验分享·动态内存管理