案例:在对象模式下,用自定义属性搭建一个导航条按钮。
1.登陆iCV系统,参考系统初次配置典型流程。
a.打开“服务管理器”选择“工程管理”菜单,点击“新建工程”按钮,在弹出的新建工程对话框中填写相关的信息,注意这里的工程模版选择“对象模式模版”。
b.选择新建的工程,点击“运行工程”按钮。启动此工程的所有进程。
c.登录“配置客户端”。
2.制作一个设备图元,参考图元编辑向导。
a.添加图库:
展开全局配置节点下的画面集中管理节点,双击资源管理下的图库管理,弹出菜单如下:
点击“添加图库”按钮,弹出“新建图库对话框”,填写图库名称,如下图:
请尽量使用英文作为图库名称。
点击确定保存图库,进行图库编辑。
b.搭建图元:
点击工具栏中的“新建图元”按钮,打开图元编辑画面,在图元页面拖入3个组态对象:组成按钮的两个图片(鼠标移出的图”要放在“鼠标移入的图”的上面)以及按钮上的文字,如下图:
将3个对象组合成一个按钮,如下图:
打开右侧的“关联变量及属性”面板,在面板下方的“自定义属性”中,点击“+”号按钮,添加相关自定义属性,如下图:
互斥按钮:属性类型为“String”字符串型,默认值为“空”,组态中可见,描述为“互为互斥按钮的按钮同时只能一个被选中,按钮之间以分号分隔”
字体颜色:属性类型为“COLOR”颜色,默认值为“黑”,组态中可见,描述为“按钮上字体颜色”
是否选中:属性类型为“BOOL”,默认值为“0”,组态中可见,描述为“1为按钮选中,0为按钮不被选中”
鼠标移出字体颜色:属性类型为“COLOR”颜色,默认值为“黑”,组态中可见,描述为“鼠标移出按钮时,按钮上字体颜色”
鼠标移入字体颜色:属性类型为“COLOR”颜色,默认值为“红”,组态中可见,描述为“鼠标移入按钮时,按钮上字体颜色”
按钮文本:属性类型为“String”字符串型,默认值为“菜单”,组态中可见,描述为“按钮上显示的文本”
关联画面:属性类型为“Bsp”组态画面,默认值为“空”,组态中可见,描述为“点击此按钮打开的画面”
双击鼠标移入的图,在弹出的对象属性的“通用”页面,将名称设为“Btn_Image2”,如下图:
选择“杂项”页面,将“是否可见”选项置为1,那么对象“Btn_Image2”将一直可见,如下图:
右击“文本”对象选择“属性”,在弹出的对象属性的“通用”页面,将名称设为“Btn_Text”,选择“文本”页面,双击文本动画框后的文本框,在弹出“属性选择”对话框中选择自定义属性“#按钮文本”,这样,“#按钮文本”的值将会关联到“文本”属性上,如下图:
选择“字体”页面,双击文本颜色动画框后的文本框,在弹出“属性选择”对话框中选择自定义属性“#字体颜色”,这样,“#字体颜色”的值将会关联到“文本颜色”属性上,如下图:
点击“确定”,完成对象配置。
在画布的空白处,右击选择“脚本编辑框”选项进行配置,脚本编辑如下图:
Sub SELF_OnMouseMoveIn(lPointX, lPointY)
page.GetAttrValue "SELF","按钮文本", txt
If Len(txt) = 0 Then
Exit Sub
End If
page.GetAttrValue "SELF","是否选中", bChoose
If bChoose = 0 Then
SELF_Image1.Visible = TRUE
page.GetAttrValue "SELF","鼠标移入字体颜色", clr
page.SetAttrValue "SELF","字体颜色", clr
Else
Exit Sub
End If
End Sub
Sub SELF_OnMouseMoveOut(lPointX, lPointY)
page.GetAttrValue "SELF","是否选中", bChoose
If bChoose = 0 Then
SELF_Image1.Visible = FALSE
page.GetAttrValue "SELF","鼠标移出字体颜色", clr
page.SetAttrValue "SELF","字体颜色", clr
Else
Exit Sub
End If
End Sub
Sub SELF_OnClick()
page.GetAttrValue "SELF","按钮文本", txt
page.SetAttrValue "SELF","是否选中",1
page.GetAttrValue "SELF","鼠标移入字体颜色", clr
page.SetAttrValue "SELF","字体颜色", clr
'设置打开关联画面
page.GetAttrValue "SELF","关联画面", relBsp
If relBsp<>"" Then
sys.openpage relBsp '打开关联画面
End If
'设置互斥按钮
page.GetAttrValue "SELF","互斥按钮",btnMutexButtons
btnsMutexArrary = Split(btnMutexButtons, ";", -1, 1)'把填入的互斥按钮名,分解成数组
high = UBound(btnsMutexArrary, 1)'获得填入的互斥按钮的最大个数
For i = 0 To high
page.SetAttrValue btnsMutexArrary(i),"是否选中",0
page.GetAttrValue btnsMutexArrary(i),"鼠标移出字体颜色",clr
page.SetAttrValue btnsMutexArrary(i),"字体颜色",clr
Next
End Sub
c.完成图元的编辑后,点击工具栏中的“保存”按钮,弹出如下对话框:
点击“是”按钮,弹出“图元命名”对话框,输入图元名称,如下图:
点击“确定”按钮,这个由两个图片和文字组合的按钮就成为了一个图元,并保存到当前图库;
d.签入图库,部署。
3.组态画面中自定义对象图元的配置使用。
打开组态编辑程序,建立一个组态画面,将编辑好的对象图元拖到画面上,选中此图元,右侧的属性窗口中会显示已配置的自定义属性信息,右击选择特殊属性选项,可以对该图元的特殊属性进行配置,如下图:
点击“确定”,保存该画面,点击F6进行运行验证,点击菜单1,弹出trend画面,如下图。