開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Visual studio 2013
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
目前正在學習MFC程式
想做一個單純的Windows訊息的收發程式測試
構想大概是這樣:
先定義WM_Test_User內容為(WM_USER+1234)
設計一個發送訊息的程式,只要點擊Button,就會執行PostMessage(WM_Test_User);
接著再設計另一個接收訊息的程式,ON_Message(WM_Test_User, OnMsg)
只要收到訊息,就會跳出一個視窗說已收到訊息。
問題是,當我按下Button的時候,結果沒有跳出對話視窗,
無法確定到底是沒有收到訊息,還是其他部分發生問題?
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
發送訊息之程式:專案名稱為Test_MFC_PostMessageForOnMessage
先在.h檔內定義 #define WM_Test_User (WM_USER+1234)
void CTest_MFC_PostMessageForOnMessageDlg::OnBnClickedButton1()
{
// 測試送出訊息
PostMessage(WM_Test_User,0,0);
}
接收訊息之程式:專案名稱Test_MFC_OnMessage
先在.h檔內定義 #define WM_Test_User (WM_USER+1234)
宣告 afx_msg LRESULT OnMsg(WPARAM wp, LPARAM lp);
BEGIN_MESSAGE_MAP(CTest_MFC_OnMessageDlg, CDialogEx)
...
ON_MESSAGE(WM_Test_User, OnMsg)
...
END_MESSAGE_MAP()
實作內容
LRESULT CTest_MFC_OnMessageDlg::OnMsg(WPARAM wp, LPARAM lp)
{
::AfxMessageBox(_T("Got it"));
return NULL;
}
補充說明(Supplement):
想知道自己是否哪裡做錯了?或者是還漏做了什麼
第一次發文,如有錯誤或者不適當的地方,還請指教m(_ _)m