不同的值范围

同一个仪表可能会有不同的值范围,以时钟为例:

分针和秒针的值范围是0到60,时针的值范围是1到12,但Gauge只有一组Minimum和Maximum属性,也就是只有一个值范围,那么怎样才能设计类似时钟的仪表呢?

Labels和Pointer都有ValueFactor属性,用于设置值的缩放倍数,假定标签值为50,如果ValueFactor为0.2,则标签显示的文本为10 ,如果ValueFactor为2,则标签值显示的文本为100。

以上面的时钟为例,

1、将GaugeGauge的Minimum和Maximum属性分别设置为0和60,startAnglesweepAngle分别设置为0和360。

2、增加两个Marks,
Interval分别设置为5和1.

3、增加一个
Labels,Interval设置为5,此时标签值为"5,10,15,20,25,30,35,40,45,50,55,60",然后将ValueFactor设置为0.2,显示的标签值变为"1,2,3,4,5,6,7,8,9,10,11,12",注意变化的只是显示文本,值不会改变,例如标签9对应的Value实际上还是45.

4、
将Lables的From或ScaleFrom属性设置为1。

5、将Pointer的的Visible设置为False.

6、在MorePointers集合中增加三个指针,Name属性的分别为Hour、Minute和Second。

7、将Hour指针的ValueFactor设置为5,这样当给Hour指针的Value属性赋值的时候,会先乘以5,例如:

gg.RadialGauge.MorePointers(
"Hour").Value = 9

系统会将9乘以5得到45,所以Hour指针指向Value为45的位置,也就是标签值为9的位置。


本页地址:http://www.foxtable.com/webhelp/topics/3790.htm