在WinCC 中,如何在运行系统中通过脚本来改变对象颜色(背景、边框、文本
描述
从WinCC 7.0 开始, 包含 32 位值的颜色,并支持颜色透明度。
可以在运行系统中通过脚本改变颜色和对象元素的透明度。
颜色相关的对象元素包括背景颜色、文本颜色和边框颜色。
(诸如位置和尺寸等其它可以在运行系统中改变的对象属性,可以使用同样的方式进行组态。)
在WinCC 中,如何在运行系统中通过脚本来改变对象颜色(背景、边框、文本
-------------------- 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
复制代码