MFC用PostMessage傳遞訊息

2021-06-05 21:52:36 字數 625 閱讀 6341

1.自定義訊息id。

#define wm_my_message (wm_user+100)         wm_user為windows系統為非系統訊息保留的id,這裡至少要用100,因為其它控制項的訊息會占用一部分。

2. 定義訊息處理函式。

訊息處理函式為訊息目標類的成員函式。首先應該在.h 檔案中宣告。這裡以主視窗類為例,主視窗類名 cmaindialog,則首先在cmaindialog.h宣告訊息處理函式。

protected: 

afx_msg lresult onmymessage(wparam wparam, lparam lparam); 

3.在cmaindialog.cpp中實現訊息處理函式

lpesult cmaindialog::onmymessage(wparam wparam, lparam lparam) 

4.在cmaindialog.cpp中對映訊息id和訊息處理函式

begin_message_map(cmainframe, cmdiframewnd) 

//}afx_msg_map 

end_message_map()

在建立執行緒的時候將主視窗控制代碼作為引數傳入執行緒,就可以用 postmessage傳遞訊息了。

跨域呼叫 postMessage

postmessage語法 環境 頁面a已經將頁面b引入成子頁面,a向它的子頁面b傳資料則需要在頁面中加乙個iframe然後點postmessage。b頁面向a頁面傳資料則直接 window.parent.postmessage data 就可以了 1 父頁面a的語法 document.getele...

跨文件通訊postMessage

window.postmessage message,origin,transfer message 最好是傳遞字串 transfer 不常使用,是一串課message同時傳遞的transferable物件,這些物件的所有權將被轉移給訊息的接收方,而傳送一方不在保留所有權 a.html lang e...

你了解postMessage嗎?

前言 通常,對於兩個不同頁面的指令碼,只有當執行它們的頁面位於同源 同協議 同主機 同埠 情況下,這兩個指令碼才能相互通訊。window.postmessage 方法可以安全地實現跨域通訊 前提 正確使用 使用 語法 otherwindow.postmessage message,targeorig...