需要实现:输入一个数字,根据数字的值切换控件的颜色,如数字为0时,显示红色,1时;显示绿色;2时显示黄色。
关键是该控件是自定义控件,不能自带的控件中自带的。(我在做的过程中,发现自定义的控件,不能使用属性节点中的颜色节点)
已解决! 转到解答。
http://www.eefocus.com/csxcs366/blog/08-10/157748_eb7d9.html
谢谢,但这种方法不能满足我所做的系统的要求。第一,这种方法也是用了属性节点(我用的是可见,你用的是颜色),当系统大时,延迟很厉害。第二,我要求变换颜色的控件不是系统中布尔控件的形状,需要自定义。我自定义后的控件,不受颜色属性节点的控制,我觉得可能是因为:属性节点改变的是自带控件的填充颜色,而我自定义的控件是图片,不受填充颜色的控制。
abczhwsdust 已写:
谢谢,但这种方法不能满足我所做的系统的要求。第一,这种方法也是用了属性节点(我用的是可见,你用的是颜色),当系统大时,延迟很厉害。第二,我要求变换颜色的控件不是系统中布尔控件的形状,需要自定义。我自定义后的控件,不受颜色属性节点的控制,我觉得可能是因为:属性节点改变的是自带控件的填充颜色,而我自定义的控件是图片,不受填充颜色的控制。
有关第一:属性节点使用的确极大影响运行效率,这就需要我们在程序中自行判断,只有发生改变时才使用一次属性节点,比如在事件结构中,这样可以避免多次重复调用,提高运行效率。
有关第二:
自定义控件有三种选项,其中严格数据类型的是很少可以控制属性,控件选项是可以全部控制的,不知道为什么要选择严格数据类型。
自定义控件是图片,指的图片控件还是装饰图片,最好贴一下图,详细说明一下。
自定义的控件就是一些线,比如最简单的一种就是一条直线,我是在visol里画了一条线,然后粘贴的。但这样做生成控件后,发现没法控制控件的颜色。这是一个横线的例子。布尔0是灰色,1是绿色。我把颜色属性节点连了一个数字显示控件后显示表明:在运行过程中,颜色值是变化的,但界面显示上控件的颜色是不变的。
粘贴的图片不可见
1、使用多个不同颜色,相同大小的布尔控件,依然必须使用属性节点控制控件是否可见。
2、自定义布尔控件,导入四个状态的图片,与基本布尔控件不同。基本布尔控件是“画”出来的,类似与矢量图形,因此无论大小如何改变,都不失真,因此可以改变绘画的颜色。自定义布尔控件通常用于创建特色按钮,由于使用了背景图片,因此可能修改颜色失去作用。
3、看不出你为什么非要使用自定义布尔控件,改变简单的线条颜色,基本布尔控件完全可以满足要求。
4、如果必须使用图片来更改状态的话,那么使用图片列表(PIC RING)控件应该更合适。
如果只是需要改变颜色显示状态,自定义颜色盒控件也很方便。