emWin 之 WM_SetCallback 建立回調函數

@2018-7-11函數

【小記】spa

emWin 經過函數 WM_SetCallback ( )  自定義回調函數
code

> 下段代碼就是經過 MESSAGEBOX 控件的 OK 按鍵實現刪除信息框的對話框,即消息框的背景窗口 DIALOG 刪除了,留下了 TEXT & BUTTONblog

 1 hWin = MESSAGEBOX_Create("這是一個幫助!\n你以爲這個幫助功能如何?", "幫助", GUI_MESSAGEBOX_CF_MOVEABLE);
 2 
 3 WM_SetCallback(hWin, _cbDialogMessage);
 4 
 5 static void _cbDialogMessage(WM_MESSAGE *pMsg)
 6 {
 7     WM_HWIN hWin;
 8     
 9     int NCode;
10     int Id;    
11 
12     hWin = pMsg->hWin;
13 
14     switch (pMsg->MsgId) 
15     {
16         case WM_NOTIFY_PARENT:
17             Id = WM_GetId(pMsg->hWinSrc);
18             NCode = pMsg->Data.v;
19         
20             switch (Id) 
21             {
22                 case GUI_ID_OK:
23                     switch (NCode) 
24                     {
25                         case WM_NOTIFICATION_CLICKED:
26                             break;
27                         case WM_NOTIFICATION_RELEASED:
28                             WM_DeleteWindow(hWin);
29                             break;
30                     }
31                     break;
32             }
33             break;
34         
35         default:
36             WM_DefaultProc(pMsg);
37             break;
38      }
39 }
相關文章
相關標籤/搜索