NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

如何使vi中的控件在三种颜色间切换

已解决!
转到解答

需要实现:输入一个数字,根据数字的值切换控件的颜色,如数字为0时,显示红色,1时;显示绿色;2时显示黄色。

关键是该控件是自定义控件,不能自带的控件中自带的。(我在做的过程中,发现自定义的控件,不能使用属性节点中的颜色节点)

0 项奖励
1 条消息(共 13 条)
6,441 次查看
这是我自己的做法,布尔1和布尔2重叠,布尔1将布尔2盖住,输入为0,1时显示布尔1,输入为2时布尔1不可见。布尔1的0,1状态分别为红色和绿色,布尔2的0状态为黄色,实现了三色转换。但问题是,当实际应用时,需要很多个这样的控件同时改变颜色,当红绿转换时速度很快,但和黄色转换时,由于涉及到了要控制布尔1的隐藏和可见,所以速度慢了很多,满足不了设想的要求,。请问有什么解决的方法,或者是其他的设计思路。凡是回答的都有奖励。
 
 
0 项奖励
2 条消息(共 13 条)
6,409 次查看

http://www.eefocus.com/csxcs366/blog/08-10/157748_eb7d9.html

陈树学
QQ:276509891 .
EMAIL:CSXCS_366@126.COM
qq群:78561268 80754347 37591940
http://labview.weebly.com/
新书《LabVIEW实用工具详解》已经发售,敬请关注。
3 条消息(共 13 条)
6,409 次查看

谢谢,但这种方法不能满足我所做的系统的要求。第一,这种方法也是用了属性节点(我用的是可见,你用的是颜色),当系统大时,延迟很厉害。第二,我要求变换颜色的控件不是系统中布尔控件的形状,需要自定义。我自定义后的控件,不受颜色属性节点的控制,我觉得可能是因为:属性节点改变的是自带控件的填充颜色,而我自定义的控件是图片,不受填充颜色的控制。

0 项奖励
4 条消息(共 13 条)
6,407 次查看

abczhwsdust 已写:

谢谢,但这种方法不能满足我所做的系统的要求。第一,这种方法也是用了属性节点(我用的是可见,你用的是颜色),当系统大时,延迟很厉害。第二,我要求变换颜色的控件不是系统中布尔控件的形状,需要自定义。我自定义后的控件,不受颜色属性节点的控制,我觉得可能是因为:属性节点改变的是自带控件的填充颜色,而我自定义的控件是图片,不受填充颜色的控制。


有关第一:属性节点使用的确极大影响运行效率,这就需要我们在程序中自行判断,只有发生改变时才使用一次属性节点,比如在事件结构中,这样可以避免多次重复调用,提高运行效率。

 

有关第二:

 

自定义控件有三种选项,其中严格数据类型的是很少可以控制属性,控件选项是可以全部控制的,不知道为什么要选择严格数据类型。

 

自定义控件是图片,指的图片控件还是装饰图片,最好贴一下图,详细说明一下。

陈树学
QQ:276509891 .
EMAIL:CSXCS_366@126.COM
qq群:78561268 80754347 37591940
http://labview.weebly.com/
新书《LabVIEW实用工具详解》已经发售,敬请关注。
5 条消息(共 13 条)
6,395 次查看

自定义的控件就是一些线,比如最简单的一种就是一条直线,我是在visol里画了一条线,然后粘贴的。但这样做生成控件后,发现没法控制控件的颜色。这是一个横线的例子。布尔0是灰色,1是绿色。我把颜色属性节点连了一个数字显示控件后显示表明:在运行过程中,颜色值是变化的,但界面显示上控件的颜色是不变的。

 
颜色【4】的值是变化的,但显示出来的控件的颜色是不变的。
0 项奖励
6 条消息(共 13 条)
6,390 次查看

粘贴的图片不可见

陈树学
QQ:276509891 .
EMAIL:CSXCS_366@126.COM
qq群:78561268 80754347 37591940
http://labview.weebly.com/
新书《LabVIEW实用工具详解》已经发售,敬请关注。
0 项奖励
7 条消息(共 13 条)
6,366 次查看

未命名.JPG未命名2.JPG

0 项奖励
8 条消息(共 13 条)
6,353 次查看
解答
已被主题作者 abczhwsdust 接受

1、使用多个不同颜色,相同大小的布尔控件,依然必须使用属性节点控制控件是否可见。

 

2、自定义布尔控件,导入四个状态的图片,与基本布尔控件不同。基本布尔控件是“画”出来的,类似与矢量图形,因此无论大小如何改变,都不失真,因此可以改变绘画的颜色。自定义布尔控件通常用于创建特色按钮,由于使用了背景图片,因此可能修改颜色失去作用。

 

3、看不出你为什么非要使用自定义布尔控件,改变简单的线条颜色,基本布尔控件完全可以满足要求。

 

4、如果必须使用图片来更改状态的话,那么使用图片列表(PIC RING)控件应该更合适。

陈树学
QQ:276509891 .
EMAIL:CSXCS_366@126.COM
qq群:78561268 80754347 37591940
http://labview.weebly.com/
新书《LabVIEW实用工具详解》已经发售,敬请关注。
9 条消息(共 13 条)
6,345 次查看

如果只是需要改变颜色显示状态,自定义颜色盒控件也很方便。

陈树学
QQ:276509891 .
EMAIL:CSXCS_366@126.COM
qq群:78561268 80754347 37591940
http://labview.weebly.com/
新书《LabVIEW实用工具详解》已经发售,敬请关注。
10 条消息(共 13 条)
6,344 次查看