vc 自定義訊息實現

2021-07-30 11:51:11 字數 1613 閱讀 8239

本案例是根據兩個dialog 相互通訊總結而來,在兩個dialog都設定好後,分為四步實現訊息傳遞:

專案名稱為:mfcmiltiwin

主dialog:cmfcmiltiwindlg

從dialog:cdialogsub

1:定義訊息id

在專案的標頭檔案中:mfcmiltiwin.h

//巨集定義兩個訊息id---區分使用者自定義訊息和系統訊息---------------------------------

#define wm_main_msg wm_user+0x00001

#define wm_sub_msg wm_user+0x00002

//巨集定義兩個訊息id------------------------------------

2:定義訊息處理函式,為了能夠將相互通訊還需定義從類指標:dlg

cmfcmiltiwindlg.h

protected:

//定義訊息處理函式-------

afx_msg lresult onmainmsg(wparam wparam, lparam lparam);

private:

cdialogsub* dlg;

cdialogsub.h

protected:

//定義訊息處理函式-------

lresult onsubmsg(wparam wparam, lparam lparam);

3:實現訊息處理函式

cmfcmiltiwindlg.cpp

afx_msg lresult cmfcmiltiwindlg::onmainmsg(wparam wparam, lparam lparam)

cdialogsub.cpp

afx_msg lresult cdialogsub::onsubmsg(wparam wparam, lparam lparam)

4:建立: 訊息<—–>訊息函式的對映

在:begin_message_map end_message_map() 中

cmfcmiltiwindlg.cpp

begin_message_map(cdialogsub, cdialogex)

//建立 訊息,訊息處理函式 對映表_____

on_message(wm_main_msg, &cmfcmiltiwindlg::onmainmsg)

//建立訊息對映表_____

//建立訊息對映表_____

end_message_map()

cdialogsub.cpp

begin_message_map(cdialogsub, cdialogex)

//建立訊息對映表_____

on_message(wm_sub_msg, cdialogsub::onsubmsg)

//建立訊息對映表_____

//建立訊息對映表_____

end_message_map()

VC自定義訊息

示例 主對話方塊a edit控制項 副對話方塊b edit控制項 將b中edit內容在其銷毀後,顯示在a中edit中 1 自定義訊息 define wm mymsg wm user 100 2 b cpp afxgetmainwnd sendmessage wm mymsg,wparam 0,lpa...

VC中自定義訊息實現

在vc專案開發中,很多時候需要自己定義訊息進行事務處理。上次也剛好有同學問及,這裡綜合網路上的一些資料,集中起來供參考。u 自定義訊息 我們可以通過一下兩種方法來自定義乙個訊息 1 方法一 step 1 使用wm taskbarcreated來確定乙個沒有被windows本身搶占 的訊息值,在想新增...

VC 中自定義訊息實現

在vc專案開發中,很多時候需要自己定義訊息進行事務處理。上次也剛好有同學問及,這裡綜合網路上的一些資料,集中起來供參考。自定義訊息 我們可以通過一下兩種方法來自定義乙個訊息 1 方法一 step 1 使用wm taskbarcreated來確定乙個沒有被windows本身搶占 的訊息值,在想新增訊息...