
本帖最后由 baiyongbin2009 于 2015-3-3 12:06 编辑 特别说明:完整STemWin的1-60期教程和配套实例下载地址:链接 第45章 GRAPH-图形控件 本期教程讲解STemWin支持的绘图控件。 45. 1 绘图件介绍 45. 2 官方WIDGET_GraphYT实例 45. 3 使用官方GUIBulder建立Graph控件 45. 4 总结 45.1 图形控件介绍 图形控件可用于可视化数据。图形控件的典型应用是显示测量值或函数图形的曲线,可同时显示多条曲线。可使用水平和垂直刻度来标记曲线。可在背景上显示具有不同水平和垂直间距的网格。如果数据阵列不能容纳进图形的可见区域,小工具可自动显示滚动条,从而可在大的数据阵列中进行滚动。 45.1.1 图形控件的结构 图形控件由不同种类的对象组成: l 图形控件自身,可以附加数据对象和刻度对象。 l 可选的一个或多个数据对象。 l 可选的一个或多个刻度对象。 下图显示了图形控件的详细结构: ![]() 截图中每个参数表示的含义如下:
创建图形控件的过程如下: l 创建图形控件并设置所需的属性。 l 创建数据对象。 l 将数据对象附加到图形控件。 l 创建可选的刻度对象。 l 将刻度对象附加到图形控件。 附加到图形控件后,就不需要通过应用程序来删除数据和刻度对象,而由图形控件完成。 示例
如前所述,图形控件由不同部分和 “子”对象组成。以下描述了绘制控件的顺序: 1. 用背景色填充背景。 2. 调用可选的回调例程。例如,这样就能绘制用户定义的网格。 3. 绘制网格 (如已启用)。 4. 绘制数据对象和边框区域。 5. 绘制刻度对象。 6. 调用可选的回调例程。例如,这样就能绘制用户定义的刻度,或一些其他的文本和/或图形。 45.1.4 支持的曲线类型 显示测量值连续更新的曲线的要求不同于显示具有X/Y坐标的函数图形的要求。因此,控件当前支持2种数据对象,如下表所示: ![]() GRAPH_DATA_XY:此数据对象用于显示由点阵列组成的曲线,对象数据绘制为折线。此数据对象的典型应用是绘制函数图形。 GRAPH_DATA_YT:此数据对象用于显示图形上每个X位置都具有一个Y值的曲线。此数据对象的典型应用是显示测量值连续更新的曲线。 |
45.2 官方WIDGET_GraphYT实例 官方的这个实例很好的演示了GraphYT的使用,这个例子在模拟器中的位置: ![]() 源码如下(程序中进行了详细的注释):
实际显示效果如下: ![]() |
45.3 使用官方GUIBulder建立Graph控件 使用官方提供的GUIBulder5.22也可以建立Graph控件,但是不完善,只能将其添加到窗口上,下面的截图就是用GUIBulder5.22设计的。 ![]() 添加了Graph控件以后,当前的GUIBulder5.22版本仅支持下面两个功能(在这个控件上鼠标右击即可显示): ![]() 下面我们将设置“Set boedr sizes”参数如下: ![]() 设置后的显示效果如下: ![]() 现在GUIBuder5.22仅支持这些功能。大家有兴趣的可以在这个的基础上面建立一个Graph控件并在模拟器或者开发板上显示出来。 45.4 总结本期教程主要是跟大家讲解了绘图控件的使用,希望大家可以把本期教程中讲的这个例子跑跑,然后自己设计一个相关的例子进行试验学习。教程中只是使用了部分的绘图控件API,其它的API大家都可以试试。 官方还有一个WIDGET_GraphXY的实例,大家可以研究下。 |
多谢分享![]() ![]() |
不错 支持一下 |
谢谢分享 |
学习学习 |
就问下,它的实时刷新速度最快能到us级别吗?如果能如何实现? |
那个STemWin的1-60期教程 的视频,有几期没有 |