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", "", ""

  • 相关阅读:
    普通索引和唯一索引的选择
    深入理解MySQL索引(上)
    深入理解MySQL索引(下)
    Python3爬取小说并保存到文件
    MySQL45讲:一条update语句是怎样执行的
    IO软件层次结构与假脱机技术
    一条查询SQl是怎样执行的
    MySQL45讲笔记-事务隔离级别,为什么你改了数据我看不见
    了解一下IO控制器与控制方式
    3.6类别不平衡问题
  • 原文地址:https://www.cnblogs.com/cache-yuan/p/9042340.html
Copyright © 2011-2022 走看看