HreoWinGauge2.0 试用版下载地址:http://download.csdn.net/source/6896899
HreoWinGauge中包含一个功能齐全的数据处理模块,具有对数据进行输入输出、记录、回放、数学计算等处理功能。具体介绍参考《HreoWinGauge2.0组件集使用手册》。本示例将演示如何应用数据处理模块的输入输出、数学计算功能。
(1)创建工程并添加演示组件
在VS2005中创建一个工程项目,并创建一个Windows 窗体,命名为TestValueProcessor。直接从工具箱的HeroWinGauge选项卡中选择GaugeContainer容器,并拖至程序界面中,此时程序中将自动创建一个GaugeContainer实例,并调整边框至合适大小。然后创建一个圆形旋钮组件GaugeComponent0,具体方法请参考《HreoWinGauge2.0组件集应用示例---- 旋钮指针》,本示例将在此基础上进行。接着在其右侧再创建一个圆形指针表盘组件GaugeComponent1,具体方法请参考《HreoWinGauge2.0组件集应用示例---- 速度表》。创建完成后,窗体如下图所示。
图7.8-1 TestValueProcessor窗体1
(2)使旋钮指针被拖动
直接点击左侧圆形旋钮指针对象区域,此时该对象将出现矩形选择框,然后点击右上角的三角形智能标记,弹出智能操作面板,点击“Task for selectded object”选项卡中的“Edit”选项,此时打开一个“Gauge Object Editor”对话框。修改该CircularPointer0对象的内部属性:“Cursor”设为“Hand”;“DraggingEnable”设为“True”;“ShowValue”设为“True”。
修改完成后,编译运行程序,然后可将光标移动到圆形旋钮指针上,光标形状将变成人手形状,同时出现指针的数值提示,此时可以按下鼠标左键并拖动,圆形旋钮就旋转起来,数值提示亦同时变化。
(3)添加数据处理器ValueProcessor
用鼠标点击GaugeContainer对象右上角的三角形智能标记,弹出智能操作面板,点击“Task for selectded object” 选项卡中的“Edit”选项,此时打开一个“Gauge Container Editor”对话框。对话框上部显示有此对象的类型(GaugeContainer)和名称(gaugeContainer1)。在此对话框中找到ValueProcessors属性(见图7.8-2),然后点击其右侧的属性值框内的“...”按钮,弹出一个“ValueProcessor Collection Editor”对话框(见图7.8-3)。此对话框可对ValueProcessors集合进行各种编辑。点击“Add”按钮添加一个ValueProcessor对象到对话框左侧的“Members”列举项中,并在对话框右侧的属性编辑器内设置该ValueProcessor对象的内部属性:“Name”设为“ValueProcessor0”;“Enable”设为“True”。
图7.8-2 Gauge Container Editor窗体1
图7.8-3 ValueProcessor Collection Editor窗体1
(4)添加数据计算器ValueCalculator
在图7.8-3 ValueProcessor Collection Editor窗体中找到ValueCalculators属性,用鼠标点击其右侧的属性值框内的“...”按钮,弹出一个“ValueCalculator Collection Editor”对话框(见图7.8-4)。此对话框可对ValueCalculators集合进行各种编辑。点击“Add”按钮添加一个CorrectingValueCalculator对象到对话框左侧的“Members”列举项中,并在对话框右侧的属性编辑器内设置该CorrectingValueCalculator对象的内部属性:“Name”设为“CorrectingValueCalculator0”;“Type”设为“Unchange”;“Enable”设为“True”。
图7.8-4 ValueCalculator Collection Editor窗体1
(5)将圆形旋钮数据输出到数据处理器
再次点击左侧圆形旋钮指针对象区域,此时该对象将出现矩形选择框,然后点击右上角的三角形智能标记,弹出智能操作面板,点击“Task for selectded object”选项卡中的“Edit”选项,此时打开一个“Gauge Object Editor”对话框(见图7.8-5)。找到该CircularPointer0对象的内部属性:“OutputProcessor”设为“ValueProcessor0”。此设置表示圆形旋钮指针的位置改变时,将把当前的指示的数据发送到数据处理器ValueProcessor0,再将处理后的数据送往其属下各个ValueCalculator进行计算输出。
图7.8-5 Gauge Object Editor窗体1
(6)将数据处理器的处理数据输出到圆形指针表盘
直接点击右侧圆形表盘的指针对象区域,此时该对象将出现矩形选择框,然后点击右上角的三角形智能标记,弹出智能操作面板,点击“Task for selectded object” 选项卡中的“Edit”选项,此时打开一个“Gauge Object Editor”对话框(见图7.8-6)。找到该CircularPointer1对象的内部属性:“ValueSource”设为“ValueProcessor0\CorrectingValueCalculator0”。此设置表示,数据处理器ValueProcessor0中CorrectingValueCalculator0的输出数据将送到此圆形指针中显示。
图7.8-6 Gauge Object Editor窗体2
(7)编译程序并运行
到此,左右两个CircularPointer已通过数据处理器ValueProcessor0关联起来,其中CircularPointer0作为数据源产生数据,并送至ValueProcessor0中处理,最后将处理结果输出到CircularPointer1中显示。
编译程序并运行,用鼠标拖动左侧的CircularPointer0转动,可观察到右侧的CircularPointer1也同时跟随转动。如要改变CircularPointer0和CircularPointer1的转动比例关系,可在图7.8-4所示的对话框中将“Type”设为“Linear”;“ConstantB”设为“2”。设置完成后再次编译运行程序,用鼠标拖动CircularPointer0,然后观察CircularPointer1的转动速度是否已发生变化。如要实现更复杂数据计算处理,可在的图7.8-4所示的对话框右侧添加不同类型的ValueCalculator派生类对象实现,例如:CorrectingValueCalculator、FiterValueCalculator、MathValueCalculator、CustomValueCalculator。具体说明请参考使用手册。