天天看点

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

wincc如何实现自定义对话框登陆、退出!!(干货)

第一步:在用户管理器中添加用户名、密码

首先我们新建一个项目,然后双击“用户管理器”,弹出如下页面:

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

然后建立用户名、密码。如下图:

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

第二步:定义变量

1.双击“变量管理”,打开“变量管理”

2.打开“内部变量”

3.添加两个内部变量。分别为“username(用户名变量,数据类型为文本变量16位字符集)、password(密码变量,数据类型为文本变量16位字符集)”

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

第三步: 绘制输入输出域

首先双击“图形编辑器”。

1.点击右侧“标准”中的“静态文本”框,填写“用户名”、“密码”

2.点击右侧“标准”中的“输入/输出域”,绘制两个“输入/输出域”框

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

3.关联“输入/输出域”变量,将前面定义的“内部变量”关联到对应的“输入/输出域”中。

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

4. 定义“输入/输出域”的格式

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序
wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

第四步: 绘制登陆、退出按钮

1.绘制登陆、退出按钮

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

第五步 编写C程序

1.具体如下图

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

2.如下图

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

3.现在就可以编写C程序了

程序如下:

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序
wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

4.“退出”按钮C程序如下

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

3.创建一个新的页面,即为第五步,第3中定义的一个窗口,名字为“NewPdl2.PDL”

wincc如何实现自定义对话框登陆、退出!!(干货)第一步:在用户管理器中添加用户名、密码第二步:定义变量第三步: 绘制输入输出域第四步: 绘制登陆、退出按钮第五步 编写C程序程序

现在,已经实现了wicc自定义对话框登陆、退出的操作。下面我会将程序上传,大家可以下载。

程序

//登陆按钮C脚本

#pragma option(mbcs)
#include"USEGENAP.H"
#pragma code("UseAdmin.DLL")
#include"pwrt_api.h"
#pragma code ()
//int s=GetInputValueChar(lpszPictureName,"输入/输出域1");
//int a=GetInputValueChar(lpszPictureName,"输入/输出域2");
if(PWRTSilentLogin(GetInputValueChar(lpszPictureName,"输入/输出域1"),GetInputValueChar(lpszPictureName,"输入/输出域2"))==FALSE)
{
if(MessageBox(NULL,"错误,请重新输入!","提示",MB_ICONEXCLAMATION|MB_SYSTEMMODAL));
}
else
{
OpenPicture("NewPdl1.PDL");
SetTagChar("NewTag_1",""); //Return-Type: BOOL
}
           
//退出按钮C脚本
if(IDYES==MessageBox(NULL, "是否真的退出","退出",  MB_YESNO |MB_SYSTEMMODAL))
{
  DeactivateRTProject ();
}
           

继续阅读