回复:经典WinCC的同类型弹窗

已锁定

手机用户20180604694547

  • 帖子

    1037
  • 精华

    7
  • 被关注

    29

论坛等级:奇侠

注册时间:2018-06-04

钻石 钻石 如何晋级?

发布于 2022-04-18 12:19:32

11楼

展开查看
以下是引用ligp99在2022-04-18 10:54:15的发言 >10楼

感觉复杂呀,我这一个页面160个数据肯能大部分需要同时显示

以下是引用手机用户20180604694547在2022-04-18 10:21:55的发言 >9楼:并不是wincc不行,只...

引用9楼详细内容:

并不是wincc不行,只能说你没有想到好的办法,其实只需要在上述脚本中添加一些东西就可以实现了,给你一个思路:

首先需要创建多个画面窗口控件(我一般创建10,创建的数量代表了可以同时显示的窗口数量)。

写入上述脚本,但脚本前面增加判断脚本,判断画面是否为显示状态,如果画面已经显示则再判断下一个画面,直到画面的显示状态为false,然后将这个画面前缀,位置窗口信息等数据写入,再将画面显示状态显示为true。


以下是引用ligp99在2022-04-18 09:59:32的发言 >8楼:对,这个只能弹出一...

引用8楼详细内容:

对,这个只能弹出一个。



我资料都找遍了也没有发现能弹出多个窗口的好办法,难道WINCC这么LOW?

以下是引用手机用户20180604694547在2022-04-18 08:25:36的发言 >7楼:这个脚本存在几个...

引用7楼详细内容:

这个脚本存在几个小问题:

  1. 这个只能被调用一次,或者说只能同时显示一个画面窗口,因为你的只指定了一个画面窗口名称。

  2. 窗口定位存在问题,如果按钮是在画面边缘,可能存在画面窗口不能完全显示的情况。

但因为现在用的是点击事件,不排除你会为每个设备单独做一个画面窗口。建议把脚本改为项目函数进行调用,都这个脚本进行有些修改也是可以改成重复调用多个画面窗口的。

画面窗口位置建议引入画面窗口的长和宽进行比较,结合按钮位置与长宽选择窗口是出现在按钮左边还是按钮右边,这样可以有效的避免画面窗口出现在屏幕外。

以下是引用ligp99在2022-04-18 07:11:43的发言 >6楼:转 黄河远上建好...

引用6楼详细内容:

转 黄河远上


建好结构变量后
在鼠标左键里,选择VBS动作:
Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim PIC
Set PIC = ScreenItems("画面窗口1")'选择画面窗口
PIC.Visible = False
PIC.Left = x +10
PIC.Top = Y '使窗口移动到鼠标位置
PIC.TagPrefix = "TAG_6."' 定义变量前缀
PIC.Visible = True


160个还是算了吧,你不可能说一次性把所有的画面全部调用出来吧,最多20个你屏幕就已经放不下了。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32659条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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