delphi xe 改变按钮 颜色_「WinCC“脚本”专题」教你如何用脚本查询和修改对象的背景颜色...

内部函数的"graphics"组中的函数用于查询和修改对象的各种属性。"graphics"组中包含了功能各异的函数,以满足用户不同的需求。


一、"color"组

本文介绍两个较为常用的函数:"GetBackColor"和"SetBackColor",分别用于获得和修改画面对象的背景颜色。

1a11b4a43f78b5dc729d8a7c7d469f57.png

1、"GetBackColor"

函数"GetBackColor"用于返回指定对象的背景颜色。

59dfeaad1a2ca06c413abfa2cf001d5e.png

如果要返回整幅画面的"背景色",则"lpszObjectName"要指定为"NULL",即"lpszObjectName=NULL"。

2、"SetBackColor"

函数"SetBackColor"用于为指定的对象设定背景颜色。

f4b382b94b470003d9fd26fed4ecac67.png

如果要设置整幅画面的"背景色",则"lpszObjectName"要指定为"NULL",即"lpszObjectName=NULL"。


二、应用举例

1、点击"按钮",将"按钮"的背景颜色送给指定对象

本例完成如下效果,在"输入/输出域"中写入值,可改变"按钮"的背景颜色,点击"按钮",触发C动作,使得"输入/输出域"的背景颜色和"按钮"的一致。

81bed6830abd2b422a3f419cd57bff7d.gif

为"按钮1"配置鼠标左键事件,在C动作中调用"GetBackColor"和"SetBackColor",具体代码如图2所示。

d8f7a79832ffad062d46665378b23b4e.png

代码解释:

  • "GetBackColor"用于将"按钮1"的背景颜色读出来,并赋值给临时变量i。其中:"颜色.PDL"即画面名称,对应参数"lpszPictureName";"按钮1"即为对象名称,对应参数"lpszObjectName"。要注意的是,"按钮1"必须是属于画面"颜色.PDL"的对象。
  • "SetBackColor"用于将临时变量i的值赋值给指定对象"输入/输出域1"的背景颜色属性。

2、将对象背景色改为"画面"的背景色

本例演示的是如何读取"画面"的背景颜色,其效果如下。右键单击"输入/输出域1",执行C脚本,读取"画面"的背景颜色,并将其设为"输入/输出域1"的背景颜色。

55053a89430ab59efff2c55df3c7eb36.gif

为"输入/输出域1"配置鼠标右键事件,在C动作中调用"GetBackColor"和"SetBackColor",具体代码如图3所示。

8f6a965eae0e09d08b5cbf2c5b09b061.png

代码解释:

如果要返回整幅画面的"背景色",则"lpszObjectName"要指定为"NULL",即"lpszObjectName=NULL"。

3、修改"画面"的背景色

本例演示的是如何修改"画面"的背景颜色,其效果如下。右键单击"输入/输出域2",执行C脚本,读取变量"画面背景色"的值,并将其设为"画面"的背景颜色。

8abb8555ce9a67eacf63d04ee9532911.gif

为"输入/输出域2"配置鼠标右键事件,在C动作中调用"GetTagDWord"和"SetBackColor",具体代码如图4所示。

439823633cd50bfca0c3fadd9fa15d6b.png

代码解释:

如果要设置整幅画面的"背景色",则"lpszObjectName"要指定为"NULL",即"lpszObjectName=NULL"。


<

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值