zoukankan      html  css  js  c++  java
  • ifix 在切换菜单按钮弹出”已打开该画面“bug修复

    在ifix项目中,实际上会用到点击按钮弹出按钮菜单,点击另一按钮弹出另一按钮菜单的情况。一般在使用过程中切换菜单可有如下两种普遍做法:

    1.使用ClosePicture “Middle",0 关闭当前画面,OpenPicture "***.grf”,"Middle","",""打开新画面(比如上述的按钮菜单画面)

    2.使用切换画面命令 replacePicture "***.grf","Middle","",0

    如下图所示:

    当使用上述两种方法时,会出现一个问题,当点击系统拓扑图,或者历史报警等其余项目时,一二期监控按钮又变成了可点击状态,但是一二期按钮栏未退出,当再次点击一二期监控按钮时就会报错:诸如,"点击的画面已打开”之类的错误


    解决方法:

    利用新建全局变量isopen作为标志点。将一二期监控,和三期监控按钮做切换动作,保证当按其他按钮时,不执行replacepicture操作。

    代码如下:

    Private Sub 三期按钮_Click()
        closepicture "MIDDLE"
        If user.isOpen.CurrentValue = 0 Then
      replacepicture "三期按钮栏.grf", "MIDDLE1", "", 0
      user.isOpen.CurrentValue = 1
       End If
    End Sub

    Private Sub 一二期按钮_Click()
        closepicture "MIDDLE"
        If user.isOpen.CurrentValue = 1 Then
        replacepicture "二期按钮栏.grf", "MIDDLE1", "", 0
        user.isOpen.CurrentValue = 0
        Else
        user.isOpen.CurrentValue = 0
        End If
    End Sub

    经测试,有效的解决了上述bug,作为记录。

    注:(2018-05-03)

    上述方法并不是个很好的方法,使用原先的简单方法即可解决此问题。

    修改如下:

    二期按钮;

    closepicture "MIDDLE"

    openpicture "test.grf","MIDDLE","",""//打开一个按钮栏中的默认画面,放置MIDDLE别名下无画面。

    openpicture "二期按钮栏.grf", "MIDDLE1", "", ""

    三期按钮;

    closepicture "MIDDLE"

    openpicture "test1.grf","MIDDLE","",""//打开一个按钮栏中的默认画面,放置MIDDLE别名下无画面。

    openpicture "三期按钮栏.grf", "MIDDLE1", "", ""

  • 相关阅读:
    SCXML和QScxml使用总结
    qt 使用qtxlsx 读写excel
    Qt Qml嵌入Widget以及Qml与Widget交互
    三步带你开发一个短链接生成平台
    SessionStorage、LocalStorage详解
    低代码如何支撑企业级应用开发?
    开发一个渐进式Web应用程序(PWA)前都需要了解什么?
    详细了解JS Map,它和传统对象有什么区别?
    5种可能在10年后消失的开发语言
    更改tomcat启动的端口号
  • 原文地址:https://www.cnblogs.com/cache-yuan/p/9042340.html
Copyright © 2011-2022 走看看