请帮忙分析下用C脚本制作的一个能调整大小的画面窗口?

已锁定

振~

  • 帖子

    533
  • 精华

    1
  • 被关注

    60

论坛等级:奇侠

注册时间:2013-11-18

黄金 黄金 如何晋级?

请帮忙分析下用C脚本制作的一个能调整大小的画面窗口?

1579

2

2014-11-05 20:25:38

新手请教,才学用WINCC,在叙述方面可能有不准确,望见谅:最近在一项目中看到别人用C语言写的一个能调整大小的画面窗口,由于本人对C语言不懂,所以请大家帮忙分析下,画面上他用了类似画面模版的做法,解决需要大量弹出画面窗口的地方。如附件图所示,他做的有公共的画面窗口 "CtlValvePopup.pdl",但在画面窗口属性里画面名称却是Valve,请高手帮忙分析下!C如下:
#include "apdefap.h"
void Click(char* lpszPictureName, char* lpszObjectName )
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction DMTagName
// next TagID : 1
// WINCC:TAGNAME_SECTION_END

// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction PictureName
// next PicID : 1
#define ApcCtlValvePopup_pdl "CtlValvePopup.pdl"
// WINCC:PICNAME_SECTION_END

char PictureWindow_Name[25], *ptrPictureWindow, *ptrVarName;
long int OffsetLeft, OffsetTop;

sprintf(PictureWindow_Name, "PictureWindow%s",lpszObjectName);
ptrPictureWindow = PictureWindow_Name;

OffsetTop= GetTop(lpszPictureName,lpszObjectName); //Return-Type: long int
OffsetLeft= GetLeft(lpszPictureName,lpszObjectName); //Return-Type: long int

//SetHeight(lpszPictureName,ptrPictureWindow,360); //Return-Type :BOOL
//SetWidth(lpszPictureName,ptrPictureWindow,650); //Return-Type :BOOL


if (OffsetTop <420) SetTop(lpszPictureName,ptrPictureWindow,OffsetTop+40);
else SetTop(lpszPictureName,ptrPictureWindow,OffsetTop-100);

if (OffsetLeft <307) SetLeft(lpszPictureName,ptrPictureWindow,10);
else if (OffsetLeft >907) SetLeft(lpszPictureName,ptrPictureWindow,1280-650-20);
else SetLeft(lpszPictureName,ptrPictureWindow,OffsetLeft-300);

SetPictureName(lpszPictureName,ptrPictureWindow,ApcCtlValvePopup_pdl); //Return-Type :BOOL

SetVisible(lpszPictureName,ptrPictureWindow,1); //Return-Type :BOOL

}
请帮忙分析下用C脚本制作的一个能调整大小的画面窗口? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32767条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。