emWin 2天速成实例教程007_Graph波形曲线图形控件使用方法

备注:(1)打开工程目录下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本会用emWin做项目,其他章节可以需要时再参考。

使用GUIBuilder V5.30创建如下页面并保存为C文件,然后添加到脱机模拟仿真平台CodeBlocks:
emWin 2天速成实例教程007_Graph波形曲线图形控件使用方法_第1张图片


(1)在WM_INIT_DIALOG消息中(窗口初始化时程序跑到这里)添加GRAPH控件的初始化代码:

hItem =WM_GetDialogItem(pMsg->hWin, ID_GRAPH_0);

GRAPH_SetBorder(hItem,40, 5, 5, 30);

GRAPH_SetGridVis(hItem,1);

GRAPH_SetGridFixedX(hItem,1);

GRAPH_SetGridDistY(hItem,25);

GRAPH_SetGridDistX(hItem,50);

hScaleV =GRAPH_SCALE_Create(30, GUI_TA_RIGHT, GRAPH_SCALE_CF_VERTICAL, 25);//创建和增加垂直范围尺度标签

GRAPH_SCALE_SetTextColor(hScaleV,GUI_RED);     //设置标签字体颜色

GRAPH_AttachScale(hItem,hScaleV);    //将标签添加到垂直方向

hScaleH =GRAPH_SCALE_Create(150, GUI_TA_HCENTER, GRAPH_SCALE_CF_HORIZONTAL, 50);//创建和增加水平范围尺度标签

GRAPH_SCALE_SetTextColor(hScaleH,GUI_DARKGREEN);    //设置字体颜色

GRAPH_AttachScale(hItem,hScaleH);      //添加到水平方向

pdataGRP =GRAPH_DATA_YT_Create(GUI_GREEN, 500/*最大数据个数*/, 0, 0);//创建一个数据曲线,可创建多个曲线

GRAPH_AttachData(hItem,pdataGRP);     //为绘图控件添加数据对象


(2)创建一个软件定时器TIMER:

WM_HWINCreateFramewin(void) {

  WM_HWIN hWin;

  hWin = GUI_CreateDialogBox(_aDialogCreate,GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);

  WM_CreateTimer(WM_GetClientWindow(hWin),1, 300, 0); //创建一个软件定时器

  return hWin;

}


(3)到这里GRAPH控件创建完毕,我们使用GRAPH控件显示数据曲线只需做的事情是将获得的数据(比如AD转换值)用GRAPH_DATA_YT_AddValue()函数赋值给GRAPH控件,每赋值一个数据则显示一个点,点和点之间emWin会自动连结起来,无需我们操心:

emWin 2天速成实例教程007_Graph波形曲线图形控件使用方法_第2张图片


在此例程中有三个地方给曲线赋值:

(1)TIMER定时器(比如可以在这里定时采集一个数据并显示曲线)

(2)四个Button控件

(3)电脑键盘
emWin 2天速成实例教程007_Graph波形曲线图形控件使用方法_第3张图片


以上的例程只说明了GRAPH控件的最基本的应用,更多应用和功能请阅读以下3个官方例程:
emWin 2天速成实例教程007_Graph波形曲线图形控件使用方法_第4张图片

emWin 2天速成实例教程007_Graph波形曲线图形控件使用方法_第5张图片


源码/软件下载

你可能感兴趣的:(emWin学习课堂)