MFC傳遞訊息的四個步驟

2021-06-20 21:05:18 字數 689 閱讀 7817

昨天因為乙個sendmessage的錯誤,除錯了近一天時間,現把sendmessage的詳細用法總結如下:

函式宣告:

lresult sendmessage(hwnd hwnd,uint msg,wparamwparam,lparam iparam)

引數的含義:

hwnd:其視窗程式將接收訊息的視窗的控制代碼。

msg:指定被傳送的訊息。

wparam:指定附加的訊息特定資訊。

iparam:指定附加的訊息特定資訊。

傳遞訊息主要分4步:

1)在類的定義中宣告訊息函式:afx_msgvoid aaa();

2)在相應的cpp檔案中的message_map區域內新增on_message(message_id,aaa),其中引數1為要傳遞訊息的id,引數2為剛剛宣告的函式名稱,不用帶括號。

3)實現訊息函式:在cpp檔案中新增

lresult 類名::aaa(wparamwparam,lparam lparam)

執行內容

return 0;

4)傳送訊息:在需要傳送訊息的地方新增下列語句:

::sendmessage(m_hwnd,message_id,a,b);

其中,m_hwnd為接收訊息的父視窗的控制代碼,呼叫該視窗的sendmessage函式,message_id為剛剛設定的訊息id,a、b是要傳遞的引數。

ROS catkin編譯的四個步驟

1.宣告依賴庫。首先,我們需要宣告程式所依賴的其他功能包。為了給出依賴庫,編輯包目錄下的 cmakelists.txt 檔案。該文 件的預設版本含有如下行 find package catkin required 所依賴的其他 catkin 包可以新增到這一行的 components 關鍵字 後面,...

MFC的訊息傳遞機制

今天又研究了一下mfc的訊息傳遞機制,發現mfc的訊息傳遞也沒那麼複雜。簡單的就是那麼幾個要點 1 用巨集定義了乙個訊息表,每個類一張表,父類子類通過指標連線,構成乙個訊息網。表裡面每項就定義了訊息號 id號和函式執行入口及函式引數形式。得到乙個訊息,就和表裡面的項比較,訊息一樣的就執行對應的函式。...

ROS catkin編譯系統的四個步驟

1.宣告依賴庫。首先,我們需要宣告程式所依賴的其他功能包。為了給出依賴庫,編輯包目錄下的 cmakelists.txt 檔案。該文 件的預設版本含有如下行 find package catkin required 所依賴的其他 catkin 包可以新增到這一行的 components 關鍵字 後面,...