在 WinCC 中,如何在运行系统中通过脚本来改变对象颜色(背景、边框、文本
描述
从 WinCC 7.0 开始, 包含 32 位值的颜色,并支持颜色透明度。 可以在运行系统中通过脚本改变颜色和对象元素的透明度。
颜色相关的对象元素包括背景颜色、文本颜色和边框颜色。
(诸如位置和尺寸等其它可以在运行系统中改变的对象属性,可以使用同样的方式进行组态。)
在 WinCC 中,如何在运行系统中通过脚本来改变对象颜色(背景、边框、文本
- <font size="2">
- -------------------- C-Script 1a --------------------
- long GetPaletteColor(int ColorIndex)
- {
- if (ColorIndex > 199)
- ColorIndex = 199;
- return pow(2,31) + ColorIndex;
- }
- -------------------- C-Script 1b --------------------
- SetBackColor(lpszPictureName, "Testobjekt", GetPaletteColor(4));
- -------------------- C-Script 2a --------------------
- long CreateRGBColor32(int nRed, int nGreen, int nBlue, ...)
- {
- va_list argptr;
- int Alpha;
- long Color;
- va_start (argptr, nBlue);
-
- if (argptr != NULL)
- Alpha = va_arg(argptr, int);
- else
- Alpha = 0;
- va_end(argptr);
- Color = nRed + (pow(2, 8)) * nGreen + (pow(2, 16)) * nBlue + (pow(2, 24)) * (Alpha + 1);
- return Color;
- }
- -------------------- C-Script 2b --------------------
- SetBackColor(lpszPictureName, "Testobjekt", CreateRGBColor32(255, 60, 100, 30));
- -------------------- VB-Script 1 --------------------
- Dim ColorIndex
- ColorIndex=5
- ScreenItems("Button5").BackColor = ((-2147483648)+ColorIndex)
- -------------------- VB-Script 2 --------------------
- ScreenItems(揟estobject?.BackColor=RGB(70,60,100)
- ScreenItems(揟estobject?.Transparency=50
- </font>
复制代码
|