MFC自定義訊息

2021-08-07 17:11:21 字數 1153 閱讀 4745

訊息傳遞過程中參與的物件

1. 訊息響應窗體a

2. 訊息傳送窗體b

訊息傳遞過程:

1.自定義訊息id,使用者自定義訊息通常定義在wm_user(0x0400)至0x7fff範圍內。

#define wm_task_update wm_user + 123
2.在窗體a中宣告定義訊息響應函式,該函式的型別必須是固定的:afx_msg lresult (cwnd::*)(wparam, lparam)

afx_msg lresult ontaskupdate(wparam wparam,lparam lparam);//宣告

lresult cpropertieswnd::ontaskupdate(wparam wparam,lparam lparam)//定義

3.在窗體a中宣告乙個自定義訊息對映巨集:on_message(message, memberfxn ) ,其中message是訊息的id,memberfxn是對映message的訊息響應函式。

on_message(wm_task_update,&cpropertieswnd

::ontaskupdate)

4.在窗體b中宣告乙個視窗控制代碼物件並定義乙個設定視窗控制代碼物件的函式。用來獲取本窗體的視窗控制代碼。

hwnd              m_hpropwnd;         //宣告視窗控制代碼物件

void cfileview::setprophwnd(hwnd hwnd)//定義設定視窗控制代碼物件函式

5.在主窗體的oncreate函式中獲取b窗體的視窗控制代碼

m_wndfileview.setprophwnd(m_wndproperties.getsafehwnd());
6.窗體b中傳送訊息

::sendmessage(m_hpropwnd,wm_task_update,(wparam)task,0);

MFC自定義訊息

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

MFC自定義訊息

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

MFC自定義訊息

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