搬家第41天-citect2018单选框排他脚本2

昨天的练习实现了单选框的排他设计,但还是麻烦。昨天双击单选框没看到事件的选项卡,以为不能像wincc中那样写事件脚本。后来回家想了想,应该不是这个样子。经过试验,明白了citect中控件事件脚本的处理方法。

在画面上放置两个单选框控件,分别是AN12和AN13,初始化控件脚本是这样子的
FUNCTION obini()
OBJECT ob1,ob2
ob1=ObjectByName("AN12")
ob2=ObjectByName("AN13")
_ObjectSetProperty(ob1,"CAPTION","男")
_ObjectSetProperty(ob1,"backcolor",12500670)
_ObjectSetProperty(ob1,"forecolor",16711680)
 
_ObjectSetProperty(ob2,"CAPTION","女")
_ObjectSetProperty(ob2,"backcolor",12500670)
_ObjectSetProperty(ob2,"forecolor",16711680)
 
END
在画面的进入事件中调用obini
 
排他性脚本如下
FUNCTION main_AN12_change(OBJECT ob)
OBJECT ob2
ob2=ObjectByName("AN13")
IF _ObjectGetProperty(ob,"value")=-1 THEN 
_ObjectSetProperty(ob2,"value",0)
END
END 
 
 
FUNCTION main_AN13_change(OBJECT ob)
OBJECT ob1
ob1=ObjectByName("AN12")
IF _ObjectGetProperty(ob,"value")=-1 THEN 
_ObjectSetProperty(ob1,"value",0)
END
END 
 
每个function中事件定义是这样子的
function 页面名称_控件编号_事件名称(object 控件变量,参数)
事件脚本
end
 
 
控件变量指的就是该控件本身,所以事件脚本中不需要重新定义了。单选项控件的排他性,就是当单选项的value属性发生改变的时候,判断改变后数值,如果数值是-1,就把其他的单选框value属性设置为0.
 
保存编译,运行后就实现了效果。
posted @ 2021-03-10 20:05  来自金沙江的小鱼  阅读(132)  评论(0编辑  收藏  举报