MFC新增使用者自定義訊息

2021-06-04 17:32:54 字數 749 閱讀 9809

1 傳送訊息

首先在a的標頭檔案中定義這個訊息:

#define wm_usermessage wm_user+100
所有自定義訊息都是以wm_user訊息為基礎加上乙個任意的自然數來表示的。

2 接受訊息

物件接受乙個訊息,應該有三部分:在標頭檔案中有該訊息的處理函式的原型;在實現檔案中有接受訊息對映的巨集;以及該訊息的處理函式的具體實現。

2.1 標頭檔案中加上自定義訊息的處理函式原型

在declare_message_map()語句之前,一對afx_msg之間加上如下形式的函式原型:

afx_msg lresult onprocname( wparam wparam, lparam lparam);

對win32來說,wparam, lparam是傳遞訊息最常用的手段。

2.2 在實現檔案中加上接受訊息對映的巨集

在cpp檔案裡,begin_message_map語句之後,在一對begin_message_map(thisclass, baseclass)與end_message_map()之間,增加 如下形式的**:

on_message(wm_usermessage, onprocname)
on_thread_message(wm_usermessage, onprocname)
上面是不用分號結尾的。

2.3 在實現檔案中給出訊息處理函式的具體實現。

MFC新增自定義訊息

由於mfc中無法通過類嚮導來自定義訊息,所以需要手動新增,主要過程如下 本文基於vs2008下通過執行緒實現資料實時更新的對話方塊運用程式 1.定義訊息 resource.件中 由於很多新控制項也會用到wm user訊息,所以定義wm user 100或更高,避免衝突 define wm updat...

MFC 新增自定義訊息對映

定義個訊息巨集 當需要自定義多個訊息巨集時,後面加的數遞增就行了 define wm mymsg wm user 100 宣告事件處理函式 注意返回值型別必須為lresult 前面的afx msg不用管直接寫上就可以了,函式名自定義,引數根據自己需求,如 wparam 10,lparam buff ...

MFC自定義訊息

訊息機制是windows的典型執行機制,在mfc中有很多的訊息如wm btn 等。但是在有些情況下我們需要自定義一些訊息去做一些我們需要的功能,mfc的嚮導不能幫助我們做到這一點,我們可以通過新增相應的 去完成這個功能。新增自定義訊息操作如下 1.建立mfc工程,如基於對話方塊的應用程式,test。...