|
利用物理按键自定义消息来点击图标
代码如下: case WM_ENTER: pMsgInfo.MsgId = WM_NOTIFY_PARENT;
pMsgInfo.hWinSrc = WM_GetDialogItem(pMsg->hWin, ID_ICONVIEW_1);
pMsgInfo.Data.v = WM_NOTIFICATION_RELEASED;
WM_SendMessage(pMsg->hWin, &pMsgInfo);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id) {
case ID_ICONVIEW_1: // Notifications sent by 'Iconview'
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
// USER START (Optionally insert code for reacting on notification message)
// USER END
break;
case WM_NOTIFICATION_RELEASED:
// USER START (Optionally insert code for reacting on notification message)
switch( ICONVIEW_GetSel(pMsg->hWinSrc))
{
/* System */
case 1:
// GUI_EndDialog(pMsg->hWin, 1);
WM_SendMessageNoPara(CreateMain(),WM_DELECT);
GUI_CreateDialogBox(_aDialogCreate_Sys, GUI_COUNTOF(_aDialogCreate_Sys), _cbDialog_Sys, WM_HBKWIN, 0, 0);
break;
/* Mode */
case 0:
// GUI_EndDialog(pMsg->hWin, 1);
WM_SendMessageNoPara(CreateMain(),WM_DELECT);
GUI_CreateDialogBox(_aDialogCreate_Set1, GUI_COUNTOF(_aDialogCreate_Set1), _cbDialog_Set1, WM_HBKWIN, 0, 0);
break;
/* Config */
case 2:
break;
/* COM */
case 3:
break;
default:
break;
}
// USER END
break;
问题:一共四个图标,但是无论点击哪个图标,返回的值都是0,只执行case 0,请问这是哪个环节出了问题呢
|
|