自定義消息處理

自定義消息步驟如下:

  • 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.編譯、鏈接並運行程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章