我在画面里做一个圆,圆的背景颜色想通过三个不同的二进制变量来分别改变成三种不同的颜色,用C动作怎样能实现?
问题补充:
axg2008你好,
我是刚学用C来做动作的,你语句里的& 0x8、& 0x80、& 0x3分别代表什么意思我还是不太明白,特别是
符号&不懂是什么意思?
最佳答案
改变颜色是问题的重点
在按钮的C脚本中加入
SetBackColor(lpszPictureName,"Circle1",CO_RED);
CO_RED表示红色,常用的颜色基本上就是CO_加上对应的英文就可以。
或者也可以用十六进制表示,表示方法为:
前四位都是0x00,5、6位表示蓝色,7、8位表示绿色,9、10位表示红色,采用的是RGB三原色表示法,不过是反的,实际上是BGR。比如红色就是0x000000FF。
至于如何通过bool量来触发变色,这个很简单了,我就不多说了。
提问者对于答案的评价:
谢谢:TIC、axg2008
我是这样做的:
if (GetTagBit("NewTag") == 1)
return CO_RED;
if (GetTagBit("NewTag_1") == 1)
return CO_GREEN;
if (GetTagBit("NewTag_2") == 1)
return CO_YELLOW;
if (GetTagBit("NewTag_3") == 1)
return CO_BLUE;
if (GetTagBit("NewTag_4") == 1)
return CO_BLACK;
if (GetTagBit("NewTag_5") == 1)
return CO_WHITE;
if (GetTagBit("NewTag_6") == 1)
return 100000;
else
return 8421504;
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc276501.html