昨天因為乙個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 關鍵字 後面,...