大学生
最后登录1970-1-1
在线时间 小时
注册时间2013-5-1
|
说明: (野火团队原创教程,未经许可禁止转载)
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工程比较大的话,可以充分利用这个模板来设计。- /*
- ******************************************************************
- ** uCGUIBuilder **
- ** Version: 4.0.0.0 **
- ** 2012 / 04 **
- ** CpoyRight to: wyl **
- ** Email:ucguibuilder@163.com **
- ** This text was Created by uCGUIBuilder **
- *****************************************************************
- */
- #include <stddef.h> //用到相应的控件,记得添加相应的头文件
- #include "GUI.h"
- #include "DIALOG.h"
- #include "WM.h"
- #include "BUTTON.h"
- #include "CHECKBOX.h"
- #include "DROPDOWN.h"
- #include "EDIT.h"
- #include "FRAMEWIN.h"
- #include "LISTBOX.h"
- #include "MULTIEDIT.h"
- #include "RADIO.h"
- #include "SLIDER.h"
- #include "TEXT.h"
- #include "PROGBAR.h"
- #include "SCROLLBAR.h"
- #include "LISTVIEW.h"
- //EventsFunctionList
- //EndofEventsFunctionList
- /*********************************************************************
- *
- * static data
- *
- **********************************************************************
- */
- /*********************************************************************
- *
- * Dialog resource
- *
- * This table conatins the info required to create the dialog.
- * It has been created by ucGUIbuilder.
- */
- //添加相应控件的信息
- static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
- { FRAMEWIN_CreateIndirect, "Caption", 0, 0, 0, 240,320,FRAMEWIN_CF_MOVEABLE,0},
- { BUTTON_CreateIndirect, "BUTTON0", GUI_ID_BUTTON0, 61, 59, 107,38, 0,0},
- { BUTTON_CreateIndirect, "BUTTON1", GUI_ID_BUTTON1, 61, 132,107,43, 0,0}
- };
- /*****************************************************************
- ** FunctionName:void PaintDialog(WM_MESSAGE * pMsg)
- ** Function: to initialize the Dialog items
- **
- ** call this function in _cbCallback --> WM_PAINT
- *****************************************************************/
- //重绘函数
- void PaintDialog(WM_MESSAGE * pMsg)
- {
- WM_HWIN hWin = pMsg->hWin;
- }
- /*****************************************************************
- ** FunctionName:void InitDialog(WM_MESSAGE * pMsg)
- ** Function: to initialize the Dialog items
- **
- ** call this function in _cbCallback --> WM_INIT_DIALOG
- *****************************************************************/
- //回调函数初始化
- void InitDialog(WM_MESSAGE * pMsg)
- {
- WM_HWIN hWin = pMsg->hWin;
- //
- //FRAMEWIN
- //
- FRAMEWIN_SetFont(hWin,&GUI_Font16B_ASCII);
- FRAMEWIN_AddCloseButton(hWin, FRAMEWIN_BUTTON_RIGHT, 0);
- FRAMEWIN_AddMaxButton(hWin, FRAMEWIN_BUTTON_RIGHT, 1);
- FRAMEWIN_AddMinButton(hWin, FRAMEWIN_BUTTON_RIGHT, 2);
- FRAMEWIN_SetTitleHeight(hWin,20);
- }
- /*********************************************************************
- *
- * Dialog callback routine
- */
- //下面的回调函数很重要,这个是GUI的基础
- static void _cbCallback(WM_MESSAGE * pMsg)
- {
- int NCode, Id;
- WM_HWIN hWin = pMsg->hWin;
- switch (pMsg->MsgId)
- {
- case WM_PAINT:
- PaintDialog(pMsg);
- break;
- case WM_INIT_DIALOG:
- InitDialog(pMsg);
- break;
- case WM_KEY:
- switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
- {
- case GUI_KEY_ESCAPE:
- GUI_EndDialog(hWin, 1);
- break;
- case GUI_KEY_ENTER:
- GUI_EndDialog(hWin, 0);
- break;
- }
- break;
- case WM_NOTIFY_PARENT:
- Id = WM_GetId(pMsg->hWinSrc);
- NCode = pMsg->Data.v;
- switch (Id)
- {
- case GUI_ID_OK:
- if(NCode==WM_NOTIFICATION_RELEASED)
- GUI_EndDialog(hWin, 0);
- break;
- case GUI_ID_CANCEL:
- if(NCode==WM_NOTIFICATION_RELEASED)
- GUI_EndDialog(hWin, 0);
- break;
- }
- break;
- default:
- WM_DefaultProc(pMsg);
- }
- }
- /*********************************************************************
- *
- * MainTask
- *
- **********************************************************************
- */
- void MainTask(void)
- {
- //初始化
- GUI_Init();
- WM_SetDesktopColor(GUI_WHITE); /* Automacally update desktop window */
- WM_SetCreateFlags(WM_CF_MEMDEV); /* Use memory devices on all windows to avoid flicker */
- //PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
- //FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
- //PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
- //BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
- //CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);
- //DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
- //SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX);
- //SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);
- //HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);
- //RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);
- //创建阻塞式对话框
- GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);
- }
复制代码 二. VC6.0中emWin模拟器的使用。
(1)配合建立的工程,直接将其粘贴到下面的文件里面,覆盖原来的东西就可以了
(2)下面的是刚才UCGUIBULDER4.0建立的工程
(3)下面的是emWin模拟器实际的显示效果
第一期先说到这里,重点是看一下UCGUIBULDER4.0里面那个使用说明,
初学的同学有什么不懂的在下面留言就可以。
|
|