|
开发板智能家居的代码,有个问题咨询下:
*********************************************************************************************************
* 函 数 名: InitDialog1
* 功能说明: 回调函数中的控件初始化消息
* 形 参:pMsg 指针参数
* 返 回 值: 无
*********************************************************************************************************
*/
void InitDialog1(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
//
//FRAMEWIN
//
FRAMEWIN_SetFont(hWin,&GUI_FontHZ12);
FRAMEWIN_SetText(hWin, _aBitmapItem[s_ucSelIconIndex].pText);
FRAMEWIN_SetTextAlign(hWin,GUI_TA_VCENTER|GUI_TA_CENTER);
FRAMEWIN_AddCloseButton(hWin, FRAMEWIN_BUTTON_RIGHT, 0);
FRAMEWIN_AddMaxButton(hWin, FRAMEWIN_BUTTON_RIGHT, 1);
FRAMEWIN_AddMinButton(hWin, FRAMEWIN_BUTTON_RIGHT, 2);
FRAMEWIN_SetTitleHeight(hWin,28);
}
/*
/*
*********************************************************************************************************
* 函 数 名: _cbCallback1
* 功能说明: 回调函数
* 形 参:pMsg 指针参数
* 返 回 值: 无
*********************************************************************************************************
*/
static void _cbCallback1(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_PAINT:
break;
case WM_INIT_DIALOG:
InitDialog1(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;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
这里初始化控件并没有GUI_ID_CANCEL和GUI_ID_OK 两个控件,为什么回调函数里面里面对这2个事件有消息处理?求解释 |
|