初级会员
- 积分
- 63
- 金钱
- 63
- 注册时间
- 2014-5-31
- 在线时间
- 7 小时
|
5金钱
各位 用ucgui和 emwin的 大神 小弟请教一个问题, 我现在是利用GUIBuilder创建了一个对话框显示在液晶屏上,然后我想通过一个按键确认后就删除这个对话框,不知道怎么操作。现在对话框是建立好了 如下图
而我想通过按键确认后"YES"就删除这个对话框,现在函数是死机了(应该说是阻塞了吧) 不知道怎么关闭,我的源代码如下:
/*******************添加检测按键部分**************/
case WM_KEY:
switch(((WM_KEY_INFO*)(pMsg->Data.p))->Key)
{
case GUI_KEY_ENTER:
GUI_EndDialog(WM_HBKWIN,0); //Delete Dialog
break;
default:
break;
}
default:
WM_DefaultProc(pMsg);
break;
}
}
/*********************************************************************
*
* Public code
*
**********************************************************************
*/
/*********************************************************************
*
* CreateFramewin
*/
WM_HWIN CreateFramewin(void);
WM_HWIN CreateFramewin(void) {
WM_HWIN hWin;
hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
return hWin;
}
// USER START (Optionally insert additional public code)
// USER END
/*************************** End of file ****************************/
/*************************************************************
**************************我是分割线**************************
**************************************************************/
void MainTask(void)
{
//GUI_Init();
//GUI_SetBkColor(GUI_RED); // //GUI_Clear();
//WM_SetDesktopColor(GUI_WHITE);
WM_SetCreateFlags(WM_CF_MEMDEV);
FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
//HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);
GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 70, 80); //阻塞式对话框
//GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 70, 80); //非阻塞式对话框
//GUI_ExecCreatedDialog(WM_HBKWIN);
//GUI_EndDialog(WM_HBKWIN,0);
}
而我的按键检测出处是这样的,
现在图像画出来了 然后没有任反应,不知道怎么回事。 各位大神求帮忙啊。 |
最佳答案
查看完整内容[请看2#楼]
小弟的应该是找到问题了,是删除对话框后没有其他的操作 所以也没有反应。 想请教一下各位大侠,如果删除一个窗口要怎么绘制窗口后面以前的画面呢???? 比如:本来有一张画面,然后应为某个操作出现一个窗口,然后删除这个窗口后要怎么样恢复之前的画面呢??? 全屏重绘么?????
|