|
WM_HWIN hWinx;(全局变量)
WM_HWIN CreateHello_world(void)
{
hWinx = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
return hWinx;
}
main()
{
...
if(++cnt>1)
{
printk("time tigger\r\n");
WM_SetFocus(hWinx);
GUI_SendKeyMsg(GUI_KEY_TAB,1);
cnt=0;
}
...
}
static void _cbDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hItem;
int NCode;
int Id;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
...
case WM_KEY:
printk("got a key!\r\n");
break;
...
}
}
------------------------------------------
上面我一个延时循环里(1秒钟左右),先给窗体聚焦WM_SetFocus(hWinx),然后发送按键事件GUI_SendKeyMsg(GUI_KEY_TAB,1)
但是回调函数_cbDialog()里面一直没有收到WM_KEY事件,没有打印got a key。
疑问:
我是按照教程先给窗体聚焦,然后再发送按键事件的,按说窗体应该收到WM_KEY事件呀。为啥没收到呢?
非常感谢
|
|