内部函数的"graphics"组中的函数用于查询和修改对象的各种属性。"graphics"组中包含了功能各异的函数,以满足用户不同的需求。
一、"color"组
本文介绍两个较为常用的函数:"GetBackColor"和"SetBackColor",分别用于获得和修改画面对象的背景颜色。
1、"GetBackColor"
函数"GetBackColor"用于返回指定对象的背景颜色。
如果要返回整幅画面的"背景色",则"lpszObjectName"要指定为"NULL",即"lpszObjectName=NULL"。
2、"SetBackColor"
函数"SetBackColor"用于为指定的对象设定背景颜色。
如果要设置整幅画面的"背景色",则"lpszObjectName"要指定为"NULL",即"lpszObjectName=NULL"。
二、应用举例
1、点击"按钮",将"按钮"的背景颜色送给指定对象
本例完成如下效果,在"输入/输出域"中写入值,可改变"按钮"的背景颜色,点击"按钮",触发C动作,使得"输入/输出域"的背景颜色和"按钮"的一致。
为"按钮1"配置鼠标左键事件,在C动作中调用"GetBackColor"和"SetBackColor",具体代码如图2所示。
代码解释:
- "GetBackColor"用于将"按钮1"的背景颜色读出来,并赋值给临时变量i。其中:"颜色.PDL"即画面名称,对应参数"lpszPictureName";"按钮1"即为对象名称,对应参数"lpszObjectName"。要注意的是,"按钮1"必须是属于画面"颜色.PDL"的对象。
- "SetBackColor"用于将临时变量i的值赋值给指定对象"输入/输出域1"的背景颜色属性。
2、将对象背景色改为"画面"的背景色
本例演示的是如何读取"画面"的背景颜色,其效果如下。右键单击"输入/输出域1",执行C脚本,读取"画面"的背景颜色,并将其设为"输入/输出域1"的背景颜色。
为"输入/输出域1"配置鼠标右键事件,在C动作中调用"GetBackColor"和"SetBackColor",具体代码如图3所示。
代码解释:
如果要返回整幅画面的"背景色",则"lpszObjectName"要指定为"NULL",即"lpszObjectName=NULL"。
3、修改"画面"的背景色
本例演示的是如何修改"画面"的背景颜色,其效果如下。右键单击"输入/输出域2",执行C脚本,读取变量"画面背景色"的值,并将其设为"画面"的背景颜色。
为"输入/输出域2"配置鼠标右键事件,在C动作中调用"GetTagDWord"和"SetBackColor",具体代码如图4所示。
代码解释:
如果要设置整幅画面的"背景色",则"lpszObjectName"要指定为"NULL",即"lpszObjectName=NULL"。
<<上一篇《WinCC的C脚本数据类型“全总结”》