TA的每日心情 | 开心 2018-1-8 15:51 |
|---|
签到天数: 22 天 连续签到: 1 天 [LV.4]偶尔看看III
版主
- 积分
- 11543
   

|
沙发
laoliang-67665
发表于 2013-4-10 12:45:06
|
只看该作者
UCGUI接口在此文件
/主窗口
/*********************************************************************
*
* static data
*
**********************************************************************
*/
#define GUI_ID_DS_DY GUI_ID_USER+100+1
#define GUI_ID_DS_DL GUI_ID_USER+100+2
#define GUI_ID_BUTTON_DS GUI_ID_USER+100+3
#define GUI_ID_SJ_DY GUI_ID_USER+100+4
#define GUI_ID_SJ_DL GUI_ID_USER+100+5
#define GUI_ID_BUTTON_SJ GUI_ID_USER+100+6
#define GUI_ID_LX_DY GUI_ID_USER+100+7
#define GUI_ID_LX_DL GUI_ID_USER+100+8
#define GUI_ID_BUTTON_LX GUI_ID_USER+100+9
#define GUI_ID_KZ_DY GUI_ID_USER+100+10
#define GUI_ID_BUTTON_KZ GUI_ID_USER+100+11
#define GUI_ID_BUTTON_KZ_FS GUI_ID_USER+100+12
#define GUI_ID_BUTTON_GL GUI_ID_USER+100+13
#define GUI_ID_EDIT_GL GUI_ID_USER+100+14
/*********************************************************************
*
* Dialog resource
*
* 主窗口,为显示的主界面
*/
static const GUI_WIDGET_CREATE_INFO _MainDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "Caption", 0, 0, 0, 420,272,FRAMEWIN_CF_MOVEABLE,0},
{ CHECKBOX_CreateIndirect, "灯丝", GUI_ID_CHECK0, 12, 21, 49, 17, 0,0},
{ CHECKBOX_CreateIndirect, "过流", GUI_ID_CHECK1, 63, 20, 62, 19, 0,0},
{ TEXT_CreateIndirect, "电压", GUI_ID_TEXT1, 10, 49, 39, 18, 0,0},
{ TEXT_CreateIndirect, "电流", GUI_ID_TEXT2, 8, 82, 39, 18, 0,0},
{ EDIT_CreateIndirect, "1.2", GUI_ID_DS_DY, 45, 42, 80, 25, 0,0},
{ EDIT_CreateIndirect, NULL, GUI_ID_DS_DL, 45, 75, 80, 25, 0,0},
{ BUTTON_CreateIndirect, "打开", GUI_ID_BUTTON_DS, 45, 104,80, 25, 0,0},
{ EDIT_CreateIndirect, NULL, GUI_ID_SJ_DY, 183,42, 80, 25, 0,0},
{ EDIT_CreateIndirect, NULL, GUI_ID_SJ_DL, 183,75, 80, 25, 0,0},
{ BUTTON_CreateIndirect, "打开", GUI_ID_BUTTON_SJ, 183,104,80, 25, 0,0},
{ EDIT_CreateIndirect, NULL, GUI_ID_LX_DY, 323,42, 80, 25, 0,0},
{ EDIT_CreateIndirect, NULL, GUI_ID_LX_DL, 323,75, 80, 25, 0,0},
{ BUTTON_CreateIndirect, "打开", GUI_ID_BUTTON_LX, 323,104,80, 25, 0,0},
{ TEXT_CreateIndirect, "电压", GUI_ID_TEXT1, 10, 179,37, 18, 0,0},
{ EDIT_CreateIndirect, NULL, GUI_ID_KZ_DY, 47, 172,80, 25, 0,0},
{ BUTTON_CreateIndirect, "打开", GUI_ID_BUTTON_KZ, 133,172,80, 25, 0,0},
{ BUTTON_CreateIndirect, "发射", GUI_ID_BUTTON_KZ_FS, 229,172,80, 25, 0,0},
{ BUTTON_CreateIndirect, "功率设置", GUI_ID_BUTTON_GL, 133,208,80, 25, 0,0},
{ TEXT_CreateIndirect, "功率", GUI_ID_TEXT5, 10, 215,37, 18, 0,0},
{ EDIT_CreateIndirect, "3.12", GUI_ID_EDIT_GL, 47, 208,80, 25, 0,0},
{ TEXT_CreateIndirect, "电压", GUI_ID_TEXT1, 146,49, 37, 18, 0,0},
{ TEXT_CreateIndirect, "电流", GUI_ID_TEXT2, 148,82, 35, 18, 0,0},
{ TEXT_CreateIndirect, "电压", GUI_ID_TEXT1, 283,49, 39, 18, 0,0},
{ TEXT_CreateIndirect, "电流", GUI_ID_TEXT2, 283,82, 39, 18, 0,0},
{ CHECKBOX_CreateIndirect, "收集", GUI_ID_CHECK2, 148,21, 49, 17, 0,0},
{ CHECKBOX_CreateIndirect, "过流", GUI_ID_CHECK3, 203,21, 60, 19, 0,0},
{ CHECKBOX_CreateIndirect, "螺旋", GUI_ID_CHECK4, 283,22, 49, 17, 0,0},
{ CHECKBOX_CreateIndirect, "过流", GUI_ID_CHECK5, 337,22, 66, 19, 0,0},
{ CHECKBOX_CreateIndirect, "控制", GUI_ID_CHECK6, 10, 147,49, 17, 0,0},
{ CHECKBOX_CreateIndirect, "过流", GUI_ID_CHECK7, 62, 147,63, 19, 0,0}
};
/*****************************************************************
** FunctionName:void PaintDialog(WM_MESSAGE * pMsg)
** Function: to initialize the Dialog items
**
** call this function in _cbCallback --> WM_PAINT
*****************************************************************/
void MainPaintDialog(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 MainInitDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
//
//FRAMEWIN
//
//FRAMEWIN_SetFont(hWin,&GUI_FontHZ_SimSun_16);
FRAMEWIN_SetClientColor(hWin,0xc0c0c0);
FRAMEWIN_SetTextColor(hWin,0x000000);
FRAMEWIN_SetTitleVis(hWin,0);
//
//GUI_ID_CHECK0
//
CHECKBOX_SetText(WM_GetDialogItem(hWin,GUI_ID_CHECK0),"灯丝");
CHECKBOX_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_CHECK0),0xc0c0c0);
//
//GUI_ID_CHECK1
//
CHECKBOX_SetText(WM_GetDialogItem(hWin,GUI_ID_CHECK1),"过流");
CHECKBOX_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_CHECK1),0xc0c0c0);
//
//GUI_ID_TEXT1
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT1),0xc0c0c0);
//
//GUI_ID_TEXT2
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT2),0xc0c0c0);
//
//GUI_ID_BUTTON_DS
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_DS),BUTTON_CI_UNPRESSED,0xc0c0c0);
//
//GUI_ID_BUTTON_SJ
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_SJ),BUTTON_CI_UNPRESSED,0xc0c0c0);
//
//GUI_ID_BUTTON_LX
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_LX),BUTTON_CI_UNPRESSED,0xc0c0c0);
//
//GUI_ID_TEXT1
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT1),0xc0c0c0);
//
//GUI_ID_BUTTON_KZ
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_KZ),BUTTON_CI_UNPRESSED,0xc0c0c0);
//
//GUI_ID_BUTTON_KZ_FS
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_KZ_FS),BUTTON_CI_UNPRESSED,0xc0c0c0);
WM_DisableWindow(WM_GetDialogItem(hWin,GUI_ID_BUTTON_KZ_FS));
//
//GUI_ID_BUTTON_GL
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON_GL),BUTTON_CI_UNPRESSED,0xc0c0c0);
//
//GUI_ID_TEXT5
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT5),0xc0c0c0);
//
//GUI_ID_EDIT_GL
//
EDIT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_EDIT_GL),0,0xdf967a);
//
//GUI_ID_TEXT1
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT1),0xc0c0c0);
//
//GUI_ID_TEXT2
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT2),0xc0c0c0);
//
//GUI_ID_TEXT1
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT1),0xc0c0c0);
//
//GUI_ID_TEXT2
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT2),0xc0c0c0);
//
//GUI_ID_CHECK2
//
CHECKBOX_SetText(WM_GetDialogItem(hWin,GUI_ID_CHECK2),"收集");
CHECKBOX_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_CHECK2),0xc0c0c0);
//
//GUI_ID_CHECK3
//
CHECKBOX_SetText(WM_GetDialogItem(hWin,GUI_ID_CHECK3),"过流");
CHECKBOX_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_CHECK3),0xc0c0c0);
//
//GUI_ID_CHECK4
//
CHECKBOX_SetText(WM_GetDialogItem(hWin,GUI_ID_CHECK4),"螺旋");
CHECKBOX_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_CHECK4),0xc0c0c0);
// CHECKBOX_SetFont(WM_GetDialogItem(hWin,GUI_ID_CHECK4),&GUI_FontHZ_SimSun_16);
//
//GUI_ID_CHECK5
//
CHECKBOX_SetText(WM_GetDialogItem(hWin,GUI_ID_CHECK5),"过流");
CHECKBOX_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_CHECK5),0xc0c0c0);
//
//GUI_ID_CHECK6
//
CHECKBOX_SetText(WM_GetDialogItem(hWin,GUI_ID_CHECK6),"控制");
CHECKBOX_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_CHECK6),0xc0c0c0);
//
//GUI_ID_CHECK7
//
CHECKBOX_SetText(WM_GetDialogItem(hWin,GUI_ID_CHECK7),"过流");
CHECKBOX_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_CHECK7),0xc0c0c0);
}
/*********************************************************************
*
* 主窗口回调函数 Dialog callback routine
*/
static void _MainCallback(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_PAINT:
MainPaintDialog(pMsg);
break;
case WM_INIT_DIALOG:
MainInitDialog(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_BUTTON_DS:
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
OnMainDSClicked(pMsg);
break;
}
break;
case GUI_ID_BUTTON_SJ:
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
OnMainSJClicked(pMsg);
break;
}
break;
case GUI_ID_BUTTON_LX:
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
OnMainLXClicked(pMsg);
break;
}
break;
case GUI_ID_BUTTON_KZ:
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
OnMainKZClicked(pMsg);
break;
}
break;
case GUI_ID_BUTTON_KZ_FS:
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
OnMainFSClicked(pMsg);
break;
}
break;
case GUI_ID_BUTTON_GL:
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
OnMainPowerClicked(pMsg);
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void OnMainDSClicked(WM_MESSAGE * pMsg)
{}
void OnMainSJClicked(WM_MESSAGE * pMsg)
{}
void OnMainLXClicked(WM_MESSAGE * pMsg)
{}
void OnMainKZClicked(WM_MESSAGE * pMsg)
{}
void OnMainFSClicked(WM_MESSAGE * pMsg)
{}
void OnMainPowerClicked(WM_MESSAGE * pMsg)
{
}
#define refvalue 3.3
void SetMainwindowDispValue(u16 * value)
{
char buf[8];
sprintf(buf, "%.2f",*value++*refvalue/4095);
EDIT_SetText(WM_GetDialogItem(_hDialogMain,GUI_ID_DS_DY),buf);
sprintf(buf, "%.2f",*value++*refvalue/4095);
EDIT_SetText(WM_GetDialogItem(_hDialogMain,GUI_ID_DS_DL),buf);
sprintf(buf, "%.2f",*value++*refvalue/4095);
EDIT_SetText(WM_GetDialogItem(_hDialogMain,GUI_ID_SJ_DY),buf);
sprintf(buf, "%.2f",*value++*refvalue/4095);
EDIT_SetText(WM_GetDialogItem(_hDialogMain,GUI_ID_SJ_DL),buf);
sprintf(buf, "%.2f",*value++*refvalue/4095);
EDIT_SetText(WM_GetDialogItem(_hDialogMain,GUI_ID_LX_DY),buf);
sprintf(buf, "%.2f",*value++*refvalue/4095);
EDIT_SetText(WM_GetDialogItem(_hDialogMain,GUI_ID_LX_DL),buf);
sprintf(buf, "%.2f",*value*refvalue/4095);
EDIT_SetText(WM_GetDialogItem(_hDialogMain,GUI_ID_KZ_DY),buf);
}
/*********************end of main window**********************/
/*********************************************************************
*
* 控制窗口 static data
*
**********************************************************************
*/
#define GUI_ID_B_DISPALL GUI_ID_USER+201
#define GUI_ID_B_POWER GUI_ID_USER+202
#define GUI_ID_B_CLOSE GUI_ID_USER+203
/*********************************************************************
*
* Dialog resource
*
* This table conatins the info required to create the dialog.
* It has been created by ucGUIbuilder.
*/
static const GUI_WIDGET_CREATE_INFO _ControlDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "CONTROL", 0, 0, 0, 60, 272,FRAMEWIN_CF_MOVEABLE,0},
{ BUTTON_CreateIndirect, "全部", GUI_ID_B_DISPALL, 8, 24, 38, 38, 0,0},
{ BUTTON_CreateIndirect, "功率", GUI_ID_B_POWER, 8, 112,38, 38, 0,0},
{ BUTTON_CreateIndirect, "关机", GUI_ID_B_CLOSE, 8, 202,38, 38, 0,0}
};
/*****************************************************************
** FunctionName:void PaintDialog(WM_MESSAGE * pMsg)
** Function: to initialize the Dialog items
**
** call this function in _cbCallback --> WM_PAINT
*****************************************************************/
void ControlPaintDialog(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 ControlInitDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
//
//FRAMEWIN
//
FRAMEWIN_SetTitleVis(hWin,0);
//
//GUI_ID_B_DISPALL
//
BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_B_DISPALL),BUTTON_CI_UNPRESSED,0x2a2aa5);
//
//GUI_ID_B_POWER
//
BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_B_POWER),BUTTON_CI_UNPRESSED,0x2a2aa5);
//
//GUI_ID_B_CLOSE
//
BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_B_CLOSE),BUTTON_CI_UNPRESSED,0x2a2aa5);
}
/*********************************************************************
*
* Dialog callback routine
*/
static void _ControlCallback(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_PAINT:
ControlPaintDialog(pMsg);
break;
case WM_INIT_DIALOG:
ControlInitDialog(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_B_POWER:
if(NCode==WM_NOTIFICATION_RELEASED)
ON_DISPPOWER_CLICKED();
break;
case GUI_ID_B_DISPALL :
if(NCode==WM_NOTIFICATION_RELEASED)
ON_DISPALL_CLICKED();
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void ON_DISPPOWER_CLICKED()
{
WM_ShowWindow(_hDialogPower);
WM_HideWindow(_hDialogMain);
}
void ON_DISPALL_CLICKED()
{
WM_ShowWindow(_hDialogMain);
WM_HideWindow(_hDialogPower);
}
/*********************************************************************
*
* static data
*
**********************************************************************
*/
#define GUI_ID_BUTTON_GLBIG GUI_ID_USER+206
#define GUI_ID_EDIT_GLBIG GUI_ID_USER+207
#define GUI_ID_TEXT_GLBIG GUI_ID_USER+208
/*********************************************************************
*
* 功率窗口
*
* This table conatins the info required to create the dialog.
* It has been created by ucGUIbuilder.
*/
static const GUI_WIDGET_CREATE_INFO _PowerDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "", 0, 0, 0, 420,272,FRAMEWIN_CF_MOVEABLE,0},
{ BUTTON_CreateIndirect, "功率设置", GUI_ID_BUTTON_GL, 299,87, 92, 86, 0,0},
{ TEXT_CreateIndirect, "功率", GUI_ID_TEXT5, 15, 32, 83, 44, 0,0},
{ EDIT_CreateIndirect, "2.51", GUI_ID_EDIT_GL, 15, 87, 258,86, 0,0}
};
/*****************************************************************
** FunctionName:void PaintDialog(WM_MESSAGE * pMsg)
** Function: to initialize the Dialog items
**
** call this function in _cbCallback --> WM_PAINT
*****************************************************************/
void PowerPaintDialog(WM_MESSAGE * pMsg)
{
//WM_HWIN hWin = pMsg->hWin;
OnMainPowerClicked(pMsg);
}
/*****************************************************************
** FunctionName:void InitDialog(WM_MESSAGE * pMsg)
** Function: to initialize the Dialog items
**
** call this function in _cbCallback --> WM_INIT_DIALOG
*****************************************************************/
void PowerInitDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
//
//FRAMEWIN
//
//
//GUI_ID_TEXT5
//
//TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXTGLBIG),&GUI_FontD24x32);
//
//GUI_ID_EDIT_GL
//
FRAMEWIN_SetTitleVis(hWin,0);
EDIT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_EDIT_GLBIG),0,0xdf967a);
EDIT_SetFont(WM_GetDialogItem(hWin,GUI_ID_EDIT_GLBIG),&GUI_FontD60x80);
}
/*********************************************************************
*
* Dialog callback routine
*/
static void _PowerCallback(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_PAINT:
PowerPaintDialog(pMsg);
break;
case WM_INIT_DIALOG:
PowerInitDialog(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;
case GUI_ID_BUTTON_GLBIG:
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
OnPowerSetClicked(pMsg);
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void OnPowerSetClicked(WM_MESSAGE * pMsg)
{
;
}
/*介绍窗口*/
/* Text shown in the intro dialog */
static const char * _apIntro[] = {
"This application made by BrightPoint",
"2012 for BrightPoint Stm32 Develop Board",
"To start the applicationplease press the <Start> button...",
};
/* Resource for intro */
static const GUI_WIDGET_CREATE_INFO _aIntro[] = {
{ WINDOW_CreateIndirect, "", 0, 0, 0, LCD_XSIZE, LCD_YSIZE, 0},
{ BUTTON_CreateIndirect, "Start", GUI_ID_BUTTON0, LCD_XSIZE/2-50, 200, 100, 20},
};
/*********************************************************************
*
* _cbIntro
*
* Purpose:
* Callback routine of intro dialog.
*/
static void _cbIntro(WM_MESSAGE * pMsg) {
WM_HWIN hDlg;
GUI_RECT Rect;
int Id, i, ySizeText, yPos = 20;
hDlg = pMsg->hWin;
switch (pMsg->MsgId) {
case WM_PAINT:
WM_GetClientRect(&Rect);
GUI_SetBkColor(GUI_WHITE);
GUI_SetColor(GUI_BLACK);
GUI_Clear();
GUI_DrawBitmap(&bmnewlogo80, (Rect.x1 - bmnewlogo80.XSize) / 2, yPos);
ySizeText = GUI_GetFontSizeY();
yPos += bmnewlogo80.YSize + 30;
for (i = 0; i < GUI_COUNTOF(_apIntro); i++) {
GUI_DispStringHCenterAt(_apIntro, Rect.x1 / 2, yPos);
yPos += ySizeText;
}
break;
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) {
case GUI_KEY_ESCAPE:
case GUI_KEY_ENTER:
GUI_EndDialog(hDlg, 0);
break;
}
break;
case WM_NOTIFY_PARENT:
if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) {
Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */
if (Id == GUI_ID_BUTTON0) {
GUI_EndDialog(hDlg, 1);
}
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void BP_UCGUI_Task(void) {
WM_HWIN hMainFrame, hClientWindow;
GUI_RECT Rect;
GUI_Init(); //GUI 初始化,最先被调用
GUI_CURSOR_Show(); //GUI函数,显示游标
//GUI_SetFont(&GUI_FontHZ_SimSun_16); //设置字体
/* Enable use of memory devices (if available) */
#if GUI_SUPPORT_MEMDEV //使用内存设备
WM_SetCreateFlags(WM_CF_MEMDEV);
WM_EnableMemdev(WM_HBKWIN);
#endif
/* Enable redrawing mechanism for background window */
WM_SetDesktopColor(GUI_BLACK); //设置背景颜色 黑 在GUI.H中定义
/* Create and execute the intro dialog */
//在背景之上,创建并执行第一个对话框
GUI_ExecDialogBox(_aIntro, GUI_COUNTOF(_aIntro), _cbIntro, WM_HBKWIN, 0, 0);
//GUI_ExecDialogBox(_MainDialogCreate, GUI_COUNTOF(_MainDialogCreate), _MainCallback, WM_HBKWIN, 0, 0);
//按START之后,该窗口关闭
//Showain();
/* Create main frame window */
/*创建主帧,480×272*/
hMainFrame = FRAMEWIN_CreateEx(0, 0, LCD_XSIZE, LCD_YSIZE,
WM_HBKWIN, WM_CF_SHOW, 0, 0, "", 0);
FRAMEWIN_SetTextAlign(hMainFrame, GUI_TA_HCENTER);
hClientWindow = WM_GetClientWindow(hMainFrame); /* 取得主帧窗口的客户窗句柄 */
WM_GetClientRectEx(hClientWindow, &Rect); /* 取得该客户窗的位置到Rect*/
hClientWindow=WM_HBKWIN;
_hDialogMain=
GUI_CreateDialogBox(_MainDialogCreate, GUI_COUNTOF(_MainDialogCreate), _MainCallback, hClientWindow, 0, 0);
_hDialogControl=
GUI_CreateDialogBox(_ControlDialogCreate, GUI_COUNTOF(_ControlDialogCreate), _ControlCallback, hClientWindow, Rect.x1 - 60, 0);
_hDialogPower=
GUI_CreateDialogBox(_PowerDialogCreate, GUI_COUNTOF(_ControlDialogCreate), _PowerCallback, hClientWindow, 0, 0);
//WM_ShowWindow(_hDialogMain);
WM_HideWindow(_hDialogPower);
while(1) {
WM_Exec(); //这里开始消息循环
GUI_X_WAIT_EVENT(); //这里相当于进行OSTimeDlyl(50)
}
} |
|