优秀的编程知识分享平台

网站首页 > 技术文章 正文

「WinCC」「C脚本」“画面对象“背景颜色的读、写操作

nanyue 2024-12-28 14:32:46 技术文章 3 ℃

GetBackColor和SetBackColor函数是C脚本内部函数中"graphics"下的两个函数。它们都是和"画面对象"的背景颜色相关的函数。

  • GetBackColor用于读指定【画面对象】的背景颜色,其反馈值的类型为长整型long int。
  • SetBackColor用于设置指定【画面对象】的背景颜色

一、【画面对象】的颜色

每个【画面对象】都有若干与"颜色"相关的属性,如图1所示为一个【圆】的颜色属性,它包括边框颜色、边框背景颜色、【背景颜色】以及填充图案颜色。本文介绍的两个函数就是关于【背景颜色】的。

"颜色"由【红色】、【绿色】和【蓝色】三种原色混合而成。每个颜色有(0,255)共256个色阶。如图2所示,3个原色混合成"画面对象"的背景色。


二、GetBackColor、SetBackColor函数的用法

GetBackColor和SetBackColor都属于WinCC内部函数,用户不能修改,但可以在"C脚本"中调用它们。

  • 参数"lpszObjectName"是【目标对象】的对象名;
  • 参数"lpszPictureName"是【目标对象】所在的画面的画面名称;
  • 对于【SetBackColor】函数而言,它还有第三个参数"lBackColor",它是一个长整型的数值类型,通常,在实际赋值时用16进制数进行赋值。如"16#FF0000"表示的为"红色"。

1、GetBackColor函数应用举例

如图4所示,为【GetBackColor】的简易应用实例,通过调用该函数,读入画面"color.pdl"中的对象"矩形1"的背景颜色,并将其赋值给"局部变量cl"。

"SetTagDWord()"将cl的值写入WinCC的变量【背景颜色】。

效果如下图所示:

图4的代码写入"色块"的鼠标动作事件中,9个"色块"都编辑类似的鼠标动作事件;

"输入/输出域"关联的是WinCC变量【背景颜色】,这样,点击不同的"色块",就会在"输入/输出域"中显示不同的数值,这些"数值"即为不同"色块"的背景颜色。

2、SetBackColor函数应用举例

如图5所示,为【SetBackColor】的简易应用实例,通过调用该函数将WinCC变量【背景颜色】的值,作为画面【color.pdl】里对象【圆1】的"背景颜色"。

效果如下图所示:


<<上一篇《“画面对象”的运动》

Tags:

最近发表
标签列表