PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 18331|回复: 0

[西门子] 自定义WinCC登录界面

[复制链接]
发表于 2024-3-19 13:58:37 | 显示全部楼层 |阅读模式
WinCC自带的登录界面不太好看,和这个看脸的时代显得有点不太协调。

图1 WinCC登录对话框不过好在WinCC比较开放。我们完全可以自己实现不同风格的登录界面。首先准备两个文本类型的内部变量,分别用于存储用户名和密码。

图2 内部变量然后再准备登录界面。两个I/O域分别绑定上图中两个内部变量。

图3 自定义登录界面其中密码输入框的属性“隐藏输入”需要设置为“是“。

图4 设置属性选中“退出“按钮,在它的鼠标左键点击事件中输入下面代码。#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()//退出登录PWRTLogout();//清空用户名和密码SetTagChar("UserName","");   SetTagChar("Pst","");}
再选中“确定“按钮,在它的鼠标左键点击事件中输入下面代码。#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){
#pragma option(mbcs)

#include"USEGENAP.H"#pragma code("UseAdmin.DLL")#include"pwrt_api.h"#pragma code ()
if(PWRTSilentLogin(GetTagChar("UserName"),GetTagChar("Pst"))==FALSE){   MessageBox(NULL,"用户名或密码错误,请重新输入!","警告",MB_ICONEXCLAMATION|MB_SYSTEMMODAL);         //如果输入错误就清除用户名和密码   SetTagChar("UserName","");  //Return-Type: BOOL   SetTagChar("Pst","");   //Return-Type: BOOL
}else{
    //登录成功的处理代码    //比如切换画面。。。。
}}运行效果下图所示。

图5 运行效果本例使用了内部变量配合I/O域来获取用户名和密码。我们也可以使用文本框控件或者第三方控件直接获取输入的用户名和密码,这样可以不需要内部变量。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-4-27 17:11 , Processed in 0.043797 second(s), 27 queries .

快速回复 返回顶部 返回列表