野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 118594|回复: 399

[emWin] 【emWin5.20使用教程】第一期:uCGUIBulider4.0配合emWin5.20模拟器的使用方法

  [复制链接]
发表于 2013-5-16 17:14:58 | 显示全部楼层 |阅读模式

说明: (野火团队原创教程,未经许可禁止转载)
         VC6.0  emWin5.20下载地址
         http://pan.baidu.com/share/link?shareid=641741&uk=286563520
         uCGUIBulder 4.0
         http://pan.baidu.com/share/link?shareid=641752&uk=286563520
         这两个软件配合着用,效果最好,使用uCGUIBulder4.0 可以快速的建立自己所需要的界面,
         这个工具很好, 要充分的配合VC6.0的emWin模拟器快速建立自己需要的界面

一.  uCGUIBulder4.0使用
1. 这个软件的使用教程,在软件包里面有个word文档,详细讲了这个软件如何使用,说的很详细,这里就不再说,
   如果打算用
2. 如果电脑无法打开这个软件,需要安装 NET  FRAMEWORK 3.0或3.5。
3. 下面对通过这个软件建立的工程进行说明,现在做个了解就可以了,后面会详细的介绍,现在只介绍怎么使用。
   下面的模板非常好用,后面自己做的UCGUI工程比较大的话,可以充分利用这个模板来设计。
  1. /*
  2. ******************************************************************
  3. **                      uCGUIBuilder                            **
  4. **                  Version:   4.0.0.0                          **
  5. **                     2012 / 04                               **
  6. **                   CpoyRight to: wyl                          **
  7. **              Email:ucguibuilder@163.com                        **
  8. **          This text was Created by uCGUIBuilder               **
  9. *****************************************************************
  10. */


  11. #include <stddef.h>                         //用到相应的控件,记得添加相应的头文件
  12. #include "GUI.h"
  13. #include "DIALOG.h"

  14. #include "WM.h"
  15. #include "BUTTON.h"
  16. #include "CHECKBOX.h"
  17. #include "DROPDOWN.h"
  18. #include "EDIT.h"
  19. #include "FRAMEWIN.h"
  20. #include "LISTBOX.h"
  21. #include "MULTIEDIT.h"
  22. #include "RADIO.h"
  23. #include "SLIDER.h"
  24. #include "TEXT.h"
  25. #include "PROGBAR.h"
  26. #include "SCROLLBAR.h"
  27. #include "LISTVIEW.h"





  28. //EventsFunctionList
  29. //EndofEventsFunctionList
  30. /*********************************************************************
  31. *
  32. *       static data
  33. *
  34. **********************************************************************
  35. */



  36. /*********************************************************************
  37. *
  38. *       Dialog resource
  39. *
  40. * This table conatins the info required to create the dialog.
  41. * It has been created by ucGUIbuilder.
  42. */

  43. //添加相应控件的信息
  44. static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {                                               
  45.     { FRAMEWIN_CreateIndirect,  "Caption",           0,                       0,  0,  240,320,FRAMEWIN_CF_MOVEABLE,0},
  46.     { BUTTON_CreateIndirect,    "BUTTON0",           GUI_ID_BUTTON0,          61, 59, 107,38, 0,0},
  47.     { BUTTON_CreateIndirect,    "BUTTON1",           GUI_ID_BUTTON1,          61, 132,107,43, 0,0}
  48. };



  49. /*****************************************************************
  50. **      FunctionName:void PaintDialog(WM_MESSAGE * pMsg)
  51. **      Function: to initialize the Dialog items
  52. **                                                      
  53. **      call this function in _cbCallback --> WM_PAINT
  54. *****************************************************************/

  55. //重绘函数
  56. void PaintDialog(WM_MESSAGE * pMsg)
  57. {
  58.          WM_HWIN hWin = pMsg->hWin;

  59. }



  60. /*****************************************************************
  61. **      FunctionName:void InitDialog(WM_MESSAGE * pMsg)
  62. **      Function: to initialize the Dialog items
  63. **                                                      
  64. **      call this function in _cbCallback --> WM_INIT_DIALOG
  65. *****************************************************************/
  66. //回调函数初始化
  67. void InitDialog(WM_MESSAGE * pMsg)
  68. {
  69.     WM_HWIN hWin = pMsg->hWin;
  70.     //
  71.     //FRAMEWIN
  72.     //
  73.     FRAMEWIN_SetFont(hWin,&GUI_Font16B_ASCII);
  74.     FRAMEWIN_AddCloseButton(hWin, FRAMEWIN_BUTTON_RIGHT, 0);
  75.     FRAMEWIN_AddMaxButton(hWin, FRAMEWIN_BUTTON_RIGHT, 1);
  76.     FRAMEWIN_AddMinButton(hWin, FRAMEWIN_BUTTON_RIGHT, 2);
  77.     FRAMEWIN_SetTitleHeight(hWin,20);

  78. }


  79. /*********************************************************************
  80. *
  81. *       Dialog callback routine
  82. */
  83. //下面的回调函数很重要,这个是GUI的基础
  84. static void _cbCallback(WM_MESSAGE * pMsg)
  85. {
  86.     int NCode, Id;
  87.     WM_HWIN hWin = pMsg->hWin;
  88.     switch (pMsg->MsgId)
  89.     {
  90.         case WM_PAINT:
  91.             PaintDialog(pMsg);
  92.             break;
  93.         case WM_INIT_DIALOG:
  94.             InitDialog(pMsg);
  95.             break;
  96.         case WM_KEY:
  97.             switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
  98.             {
  99.                 case GUI_KEY_ESCAPE:
  100.                     GUI_EndDialog(hWin, 1);
  101.                     break;
  102.                 case GUI_KEY_ENTER:
  103.                     GUI_EndDialog(hWin, 0);
  104.                     break;
  105.             }
  106.             break;
  107.         case WM_NOTIFY_PARENT:
  108.             Id = WM_GetId(pMsg->hWinSrc);
  109.             NCode = pMsg->Data.v;        
  110.             switch (Id)
  111.             {
  112.                 case GUI_ID_OK:
  113.                     if(NCode==WM_NOTIFICATION_RELEASED)
  114.                         GUI_EndDialog(hWin, 0);
  115.                     break;
  116.                 case GUI_ID_CANCEL:
  117.                     if(NCode==WM_NOTIFICATION_RELEASED)
  118.                         GUI_EndDialog(hWin, 0);
  119.                     break;

  120.             }
  121.             break;
  122.         default:
  123.             WM_DefaultProc(pMsg);
  124.     }
  125. }


  126. /*********************************************************************
  127. *
  128. *       MainTask
  129. *
  130. **********************************************************************
  131. */
  132. void MainTask(void)
  133. {
  134.    //初始化
  135.     GUI_Init();
  136.     WM_SetDesktopColor(GUI_WHITE);      /* Automacally update desktop window */
  137.     WM_SetCreateFlags(WM_CF_MEMDEV);  /* Use memory devices on all windows to avoid flicker */
  138.     //PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
  139.     //FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
  140.     //PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
  141.     //BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
  142.     //CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);
  143.     //DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
  144.     //SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX);
  145.     //SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);
  146.     //HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);
  147.     //RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);
  148.    //创建阻塞式对话框
  149.     GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);

  150. }
复制代码
二. VC6.0中emWin模拟器的使用。

(1)配合建立的工程,直接将其粘贴到下面的文件里面,覆盖原来的东西就可以了
1.png
(2)下面的是刚才UCGUIBULDER4.0建立的工程
3.png
(3)下面的是emWin模拟器实际的显示效果
2.png

第一期先说到这里,重点是看一下UCGUIBULDER4.0里面那个使用说明
初学的同学有什么不懂的在下面留言就可以。



回复

使用道具 举报

发表于 2013-5-16 19:22:03 | 显示全部楼层
图文并茂
回复 支持 反对

使用道具 举报

发表于 2013-5-16 20:25:55 | 显示全部楼层
很好,good  
回复 支持 反对

使用道具 举报

发表于 2013-5-16 20:52:06 | 显示全部楼层
ding11111111111
回复 支持 反对

使用道具 举报

发表于 2013-5-16 20:54:16 | 显示全部楼层
顶一个~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2013-5-16 20:58:01 | 显示全部楼层
准备用手抄上五十遍!
回复 支持 反对

使用道具 举报

发表于 2013-5-16 21:07:32 | 显示全部楼层
呵呵,看看,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2013-5-16 21:09:00 | 显示全部楼层
支持,顶顶顶
回复 支持 反对

使用道具 举报

发表于 2013-5-16 21:11:10 | 显示全部楼层
好,先看看
回复 支持 反对

使用道具 举报

发表于 2013-5-16 21:17:44 | 显示全部楼层
Stay hungry,stay foolish!
回复 支持 反对

使用道具 举报

发表于 2013-5-16 21:20:41 | 显示全部楼层
必须支持啊。
回复 支持 反对

使用道具 举报

发表于 2013-5-16 22:19:59 | 显示全部楼层
学习一下,看看。
回复 支持 反对

使用道具 举报

发表于 2013-5-16 22:24:59 | 显示全部楼层
火钳刘明
回复 支持 反对

使用道具 举报

发表于 2013-5-16 22:25:56 | 显示全部楼层
期待第二课,一直想学GUI啊。
回复 支持 反对

使用道具 举报

发表于 2013-5-17 08:27:20 | 显示全部楼层
顶顶顶顶顶
回复 支持 反对

使用道具 举报

发表于 2013-5-17 08:30:05 | 显示全部楼层
赞一个
回复 支持 反对

使用道具 举报

发表于 2013-5-17 09:12:52 | 显示全部楼层
第一期,呵呵
回复 支持 反对

使用道具 举报

发表于 2013-5-17 09:25:34 | 显示全部楼层
特别想学习gui
回复 支持 反对

使用道具 举报

发表于 2013-5-17 12:36:34 | 显示全部楼层
ucGUBuilder 4.0使用说明(带书签)
这个pdf文档详细说明了ucGUBuilder 4.0的使用方法
http://pan.baidu.com/share/link?shareid=500078&uk=1463230356
回复 支持 反对

使用道具 举报

发表于 2013-5-17 12:37:45 | 显示全部楼层
1123 发表于 2013-5-17 09:25
特别想学习gui

alice2013会带大家一步一步学习gui,步步为营,到最后移植到开发板上。
回复 支持 反对

使用道具 举报

发表于 2013-5-17 12:38:15 | 显示全部楼层
dzdr2009 发表于 2013-5-16 20:58
准备用手抄上五十遍!

要牙齿当金使啊
回复 支持 反对

使用道具 举报

发表于 2013-5-17 13:21:32 | 显示全部楼层
mark   gui
回复 支持 反对

使用道具 举报

发表于 2013-5-17 15:43:03 | 显示全部楼层
看看,呵呵,看看
回复 支持 反对

使用道具 举报

发表于 2013-5-17 17:08:04 | 显示全部楼层
hahahahahaha
回复 支持 反对

使用道具 举报

发表于 2013-5-17 18:57:45 | 显示全部楼层
好期待下一期!!!!
回复 支持 反对

使用道具 举报

发表于 2013-5-17 19:00:58 | 显示全部楼层
感觉builder很亲切1跟vb差不多!就不知道怎么弄到板子上
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-17 19:11:12 | 显示全部楼层
1123 发表于 2013-5-17 19:00
感觉builder很亲切1跟vb差不多!就不知道怎么弄到板子上

不急,后面会一步步上手的,上手后,就可以自己搞了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-17 19:11:14 | 显示全部楼层
1123 发表于 2013-5-17 19:00
感觉builder很亲切1跟vb差不多!就不知道怎么弄到板子上

不急,后面会一步步上手的,上手后,就可以自己搞了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-17 19:11:16 | 显示全部楼层
1123 发表于 2013-5-17 19:00
感觉builder很亲切1跟vb差不多!就不知道怎么弄到板子上

不急,后面会一步步上手的,上手后,就可以自己搞了
回复 支持 反对

使用道具 举报

发表于 2013-5-17 19:34:45 | 显示全部楼层
必须快快快快快看看看
回复 支持 反对

使用道具 举报

发表于 2013-5-17 23:51:33 | 显示全部楼层
kankan
回复 支持 反对

使用道具 举报

发表于 2013-5-18 13:47:33 | 显示全部楼层
回复~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2013-5-21 16:55:22 | 显示全部楼层
顶起~~
回复 支持 反对

使用道具 举报

发表于 2013-5-24 14:14:33 | 显示全部楼层
第二期第二期!!!!!在哪?在哪?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-24 18:41:56 | 显示全部楼层
1123 发表于 2013-5-24 14:14
第二期第二期!!!!!在哪?在哪?

http://www.firebbs.cn/forum.php? ... &extra=page%3D1
回复 支持 反对

使用道具 举报

发表于 2013-5-25 09:29:31 | 显示全部楼层
请问,有将emWin移植到野火开发板的方法吗?期待!
回复 支持 反对

使用道具 举报

发表于 2013-5-25 12:50:14 | 显示全部楼层
为什么要回复才能看?????
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-25 14:06:57 | 显示全部楼层
隔海阳台 发表于 2013-5-25 09:29
请问,有将emWin移植到野火开发板的方法吗?期待!

M3没必要上emWin高版本,新特性比较耗内存,M3用低版本的emWin就可以
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-25 14:07:01 | 显示全部楼层
隔海阳台 发表于 2013-5-25 09:29
请问,有将emWin移植到野火开发板的方法吗?期待!

M3没必要上emWin高版本,新特性比较耗内存,M3用低版本的emWin就可以
回复 支持 反对

使用道具 举报

发表于 2013-5-26 07:15:01 | 显示全部楼层
学习一下,谢谢了
回复 支持 反对

使用道具 举报

发表于 2013-5-27 10:17:27 | 显示全部楼层
貌似挺酷的GUI方案~~~~
回复 支持 反对

使用道具 举报

发表于 2013-5-27 13:16:51 | 显示全部楼层
gui,正要学
回复 支持 反对

使用道具 举报

发表于 2013-5-29 08:38:16 | 显示全部楼层
最近要学ucgui
回复 支持 反对

使用道具 举报

发表于 2013-6-1 15:13:35 | 显示全部楼层
see   see
回复 支持 反对

使用道具 举报

发表于 2013-6-1 17:20:45 | 显示全部楼层
DRTYGCHTFHDRTHDRGRDSTG
回复 支持 反对

使用道具 举报

发表于 2013-6-2 16:50:01 | 显示全部楼层
看看。。学习下。
回复 支持 反对

使用道具 举报

发表于 2013-6-4 13:22:19 | 显示全部楼层
路过.学习.
回复 支持 反对

使用道具 举报

发表于 2013-6-4 16:33:27 | 显示全部楼层
顶起~~~~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2013-6-5 16:34:22 | 显示全部楼层
学习下!···
回复 支持 反对

使用道具 举报

发表于 2013-6-5 20:31:20 | 显示全部楼层
学习一下。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-26 04:42 , Processed in 0.052491 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表