自定義消息步驟如下:
- 1.定義消息 ID 值
Windows 將所有的消息值分爲 4 段:0x0000~0x03FF 消息值範圍段用於 Windows 系統消息,0x0400~0x7FFF段用於用戶自定義消息窗口消息,0x8000~0xBFFF段爲 Windows 保留值,0xC000~0xFFFF 段用於應用程序的字符串消息。
常量 WM_USER(爲0x0400)與第一個自定義消息值相對應,用戶必須爲自己的消息定義相對於 WM_USER 的偏移值。利用#define 語句可直接定義自己的消息,如下所示
#define WM_MYMESSAGE WM_USER + 100 //自定義消息WM_MYMESSAGE
也可以調用窗口消息註冊函數 RegisterWindowMessage()來定義一個 Windows 消息,由系統分配消息一個整數值。該函數原型爲:
UINT RegisterWindowMessage(LPCTSTR lpString);
其中,參數lpString是要定義的消息名( 如MYMESSAGE),調用成功後將返回該消息的 ID 值。
打開頭文件 .h 在其開始位置添加如下代碼,定義一個自定義消息 WM_MYMESSAGE。
- 2.聲明自定義消息處理函數
在頭文件.h 適當位置聲明自定義消息處理函數 OnMyMessage();注:類函數位置可以相互交換,所以確定類型後(public、protected、private)在相應地方聲明即可。
- 3.在消息映射表中添加自定義消息映射宏
打開相應.cpp 文件,在消息映射表中添加自定義消息映射宏。
- 4.定義自定義消息的實現代碼
在相應的.cpp 文件適當位置手工添加 OnMyMessage()函數實現代碼。
- 5.在需要運行自定義消息的地方發送自定義消息。
注:SendMessage();PostMesage();區別見博主文章:
- 6.編譯、鏈接並運行程序。