|
小弟最近在学UCGUI,看到窗口这一节,发现窗口的重绘是通过回调函数来实现的,现有几个疑问,求大神解惑、
1.回调函数格式static void _cbCallback(WM_MESSAGE * pMsg) ;
回调函数的调用是通过GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);函数来实现的,但是这个函数并没有赋给回调函数 任何形参形参,那回调函数中的MsgId是哪里来的?
2.假设参数是来自_aDialogCreate,那么回调函数中
static void _cbCallback(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
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;
}
}这段函数中的pMsg->MsgId返回值又是怎么来的呢?
3.画了一个BUTTON,如何在回调函数中通过触摸屏的返回值来实现某些功能呢? |
|