MFC自定義訊息

2021-06-17 20:48:40 字數 962 閱讀 8585

訊息機制是windows的典型執行機制,在mfc中有很多的訊息如wm_btn**等。但是在有些情況下我們需要自定義一些訊息去做一些我們需要的功能,mfc的嚮導不能幫助我們做到這一點,我們可以通過新增相應的**去完成這個功能。

新增自定義訊息操作如下:

1. 建立mfc工程,如基於對話方塊的應用程式,test。

2. 在資源中新增要處理的訊息的值,即在ctestdlg.h中新增 如下**。 (因為很多mfc的訊息是在wm_user內的,所以這裡用比wm_user大的訊息)

#define wm_mymessage (wm_user+100)

3. 宣告訊息處理函式,在ctestdlg.h中新增**

class ctestdlg : public cdialog

6. 如果要傳送乙個自定義的訊息,使用**

sendmessage( wm_mymessage, 0, 0);

或者postmessage(wm_mymessage, 0, 0); 

如果要定義系統唯一的訊息讓多個應用程式去處理,不同之處如下

1. 把上面2步驟中的巨集

#define wm_mymessage (wm_user+100) 

使用   如下代替

static uint wm_mymessage = registerwindowmessage("mymessage");

2. 上面4步驟中的**用如下代替

begin_message_map(ctestdlg, cdialog)

……on_registered_message(wm_mymessage, onmymessage)

end_message_map()

3.測試訊息時,如果要讓多個應用程式都接收到這個訊息,使用

::sendmessage(hwnd_broadcast, wm_mymessage, 0, 0);

MFC自定義訊息

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

MFC自定義訊息

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

MFC自定義訊息

on command on message on notify windows3.1控制項對父視窗傳送,訊息選單和工具欄項處理訊息的巨集 一般處理自定義訊息的巨集 win32控制項向其父視窗傳送訊息處理的巨集 處理wm command 處理所有的windows的訊息 處理wm notify,nmhd...