【emwin】WM_SetCallback 創建回調函數


@2018-7-11

【小記】

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

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

 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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM