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

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 89772|回复: 0

[西门子] 利用VBS脚本修改wincc画面弹窗的一种方式

[复制链接]
发表于 2024-3-18 11:52:39 | 显示全部楼层 |阅读模式


序言

    在设计wincc组态画面的时候,为了减少画面窗口及减少主画面的拥挤,设计的时候我们常常采用弹出画面(弹窗)的方式。因弹窗如果不定位,那么就会造成弹窗画面的不固定性,从而造成操作的不方便。



解决方案



弹窗方式一的特点: 窗体大小可控,弹窗的位置在按钮旁边(跟随鼠标)。

弹窗方式二的特点:弹窗随意。

实现方式:

(1)建立变量



(2)建立画面窗口



(3)建立VBS脚本





(4)以前的脚本

Dim open

Dim username

Set username = HMIRuntime.Tags("@CurrentUserName")

username.Read

If username.Value="admin" Then

Set open =Screens("画面窗口1")

open.ScreenName="TEST001_水泵控制"

open.TagPrefix ="P101A"

open.Visible=True

open.left =495

open.top=425

Else

Msgbox "当前登录用户无操作权限",64,"用户登录"

End If

===当前的脚本====

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)           

  



Dim open

Dim username

Set username = HMIRuntime.Tags("@CurrentUserName")

username.Read

If username.Value="Admin" Then

Set open = ScreenItems("画面窗口1")

open.ScreenName="TEST001_水泵控制"

open.TagPrefix ="P101A"

open.Visible=True

open.CaptionText="P101A界面"

OPEN.WindowCloseEnabled=True

If((x+open.Width) > item.Parent.Width)Then   '判断鼠标x坐标是否超限

open.Left = item.Parent.Width - open.Width

Else

open.Left = x

End If

If((y+open.Height) > item.Parent.Height)Then '判断鼠标y坐标是否超限

open.top = item.Parent.Height - open.Height

Else

open.top = y

End If

open.width =310

open.height=210

Else

Msgbox "当前登录用户无操作权限",64,"用户登录"

End If

End Sub

===测试效果====



video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3073326055887011843

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 15:06 , Processed in 0.047213 second(s), 26 queries .

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