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); //显示当前弹窗
}
相关推荐
m0_525724722 分钟前
Jenkins共享库目录规范解析
自动化
LuminousCPP4 分钟前
数据结构-双向循环链表
c语言·数据结构·笔记·链表
小弥儿7 分钟前
GitHub今日热榜 | 2026-08-11:图原生基础设施首日登顶
学习·开源·github
心平气和量大福大10 分钟前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言
码哥DFS24 分钟前
构造函数、实例对象、对象原型 ----三者关系
开发语言·javascript·原型模式
quantdash_cc1 小时前
告别自建 Requests/BS4 网页爬虫:基于 QuantDash 搭建零维保的高性能量化行情流水线
开发语言·爬虫·python·pandas·量化·quantdash
ydd1001001 小时前
寻找两个正序数组的中位数 Java 题解,二分分割详解
java·开发语言
半亩码田2 小时前
C#转Python第3.1篇:Python 的 class 没有访问修饰符?面向对象的另一条路
开发语言·python·c#
llgdwuhan2 小时前
CPO 架构革新撕开设备缺口:测试 + 耦合双赛道,国产迎来黄金窗口期
自动化·光模块·耦合测试设备·光模块耦合设备·芯片测试设备
Wzx1980122 小时前
python沙箱和docker沙箱你选对了吗?
开发语言·python·docker