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); //显示当前弹窗
}
相关推荐
程序员zgh2 分钟前
常用通信协议介绍(CAN、RS232、RS485、IIC、SPI、TCP/IP)
c语言·网络·c++
2401_834517076 分钟前
AD学习笔记-36 gerber文件输出
笔记·学习
气π10 分钟前
【JavaWeb】——(若依 + AI)-基础学习笔记
java·spring boot·笔记·学习·java-ee·mybatis·ruoyi
aningxiaoxixi11 分钟前
TTS 之 PYTHON库 pyttsx3
开发语言·python·语音识别
深蓝海拓12 分钟前
PySide6从0开始学习的笔记(三) 布局管理器与尺寸策略
笔记·python·qt·学习·pyqt
暗然而日章12 分钟前
C++基础:Stanford CS106L学习笔记 8 继承
c++·笔记·学习
2401_8345170715 分钟前
AD学习笔记-34 PCBlogo的添加
笔记·学习
被考核重击24 分钟前
浏览器原理
前端·笔记·学习
Lynnxiaowen26 分钟前
今天我们继续学习kubernetes内容Helm
linux·学习·容器·kubernetes·云计算
有点。31 分钟前
C++ ⼀级 2023 年06 ⽉
开发语言·c++