|
发表于 2012-7-23 10:51:46
|
显示全部楼层
我将EMWIN514移植到STM32F103Z上面,使用800*480的液晶,UCOS2,IAR6.1。运行正常。单发现一个问题。
static const GUI_WIDGET_CREATE_INFO _Check_Menu_Create[] =
{
{ FRAMEWIN_CreateIndirect, "菜单",80,120, 80 ,450, 270,0,0},
{ TEXT_CreateIndirect, "1:设置", GUI_ID_TEXT0, 160, 50, 100, 16, TEXT_CF_LEFT },
{ TEXT_CreateIndirect, "2:查看", GUI_ID_TEXT1, 160, 110, 100, 16, TEXT_CF_LEFT },
};
void _cbCheck_Menu(WM_MESSAGE* pMsg)
{
WM_HWIN hWin;
hWin=pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
FRAMEWIN_SetTextAlign(hWin,GUI_TA_HCENTER|GUI_TA_VCENTER);
break;
case WM_PAINT:
break;
case WM_KEY:
break;
case WM_NOTIFY_PARENT:
break;
default:WM_DefaultProc(pMsg);
break;
}
}
void Check_Menu(WM_HWIN hWin)
{
GUI_ExecDialogBox(_Check_Menu_Create, GUI_COUNTOF(_Check_Menu_Create), &_cbCheck_Menu, WM_HBKWIN, 0, 0);
}
如上程序,我在一个主菜单里打开这个阻塞式对话框,按道理这个对话框应该自动获得输入焦点,单现象就是这个对话框没有获得焦点,焦点还在他的父窗口上。
以前的版本3.90,3.98就没有这个问题。可以自动获得焦点。
要是在资源表中加上月一个编辑工具就可以自动获得输入焦点。 { EDIT_CreateIndirect, NULL, GUI_ID_EDIT0, 60, 20, 70, 36, 0, 2 },
请楼主试试在你那KEIL系统是否有这个问题。
|
|