环形进度条

本节的内容可以参考CaseStudy目录下的文件GaugeEvents.Table。

本节的任务是设计三个环形进度条:

你可能觉得,设计这种环境进度条应该很简单啊,你的感觉没错,如果不追求美观,确实是很简单的。

这个示例为了美观多做了很多工作,我们以其中一个进度条为例,讲述一下其设计过程。

设计步骤

1、首先在MorePointers集合中增加三个指针,Visible属性都设置为False,且都设置一个合适的Value值,方便测试。

2、增加一个共享ValueColors设置,名称为"MyValueColors",包含四条valueColor:

<colorMap name="MyValueColors">
   <valueColors>
      <valueColor value="0" color="OrangeRed"/>
      <valueColor value="40" color="DarkOrange"/>
      <valueColor value="70" color="Gold"/>
      <valueColor value="100" color="LimeGreen"/>
   </valueColors>
</colorMap>

如果忘记了如何设置,可以参考:共享ValueColors设置


2、增加一个Range,属性设置如下:

<range location="90" antiAliasing="HighQuality">
  <border lineStyle="None"/>
  <filling color="160, 176, 208, 231"/>
</range>

得到进度条的轮廓:

3、再增加一个Range,绑定到MorePointers中的第1个指针,属性设置如下:

<range location="90" colorMapName="MyValueColors" toPointerIndex="0">
   <border color="DarkGray"/>
</range>

得到:

如果要求不高的话,这个进度条就算设计完成了。

4、接下来的任务是美化,将进度条的首尾弧形化,增加一个SingleMark,属性设置如下:

<singleMark location="90" colorMapName="MyValueColors" value="0" length="7" shapeAngle="-90" orthogonalOffset="-3" shape="Custom">
    <customShape startRadius="6" startWidth="12" endRadius="6" endWidth="12"/>

   
<border lineStyle="None"/>
</singleMark>

得到:


5、再增加一个SingleMark,属性设置如下:
 

<singleMark location="90" colorMapName="MyValueColors" pointerIndex="0" length="7" shapeAngle="90" orthogonalOffset="3" shape="Custom">
<customShape startRadius="6" startWidth="12" endRadius="6" endWidth="12"/>
<border lineStyle="None"/>
</singleMark>

得到:

如果你隐藏第二个Range,你会发现我们刚刚增加的两个SingleMark是两个半圆,通过这两个半圆让进度条的首尾弧形化:

这里还使用了OrthogonalOffset属性,对于前后移动SingleMark,第一个OrthogonalOffset往后移动了3,第二个OrthogonalOffset往前移动了3。

6、最后一步将进度条轮廓末端弧形化,增加一个SingleMark,属性设置为:

<singleMark location="90" value="100" length="6" shapeAngle="90" orthogonalOffset="3" shape="Custom">
   <customShape startRadius="6" startWidth="12" endRadius="6" endWidth="12"/>
   <border lineStyle="None"/>
   <filling color="160, 176, 208, 231"/>
</singleMark>

得到:


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