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

猜你喜欢

转载自blog.csdn.net/sheng1522098487/article/details/79626077