VC自訂訊息postmessage用法(訊息響應函數)
來源:互聯網
上載者:User
VC 自訂訊息 postmessage用法
1. 在 resource.h檔案添加如下代碼 定一個自己的訊息
#define WM_MY_MESSAGE WM_USER + 100 //---------------------by tyds
2.在...view.h的檔案添加如下:
//{{AFX_MSG(CPostmessageView)
afx_msg void Ontydspostmessage();
afx_msg /*LRESULT*/ void OnMyMessage(/*WPARAM wParam, LPARAM lParam*/); //----- by tyds
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
3.在...view.cpp檔案添加如下代碼
BEGIN_MESSAGE_MAP(CPostmessageView, CView)
//{{AFX_MSG_MAP(CPostmessageView)
ON_COMMAND(ID_tyds_postmessage, Ontydspostmessage)
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage) //添加訊息映射---------------------by tyds
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
void CPostmessageView::Ontydspostmessage()
{
MessageBox("begin post message!");
//PostMessage(WM_MY_MESSAGE); //這裡 PostMessage SendMessage 兩則區別是
SendMessage(WM_MY_MESSAGE); //PostMessage 是發出去就返回 而SendMessage是發出去等到被 //執行了 在返回
}
訊息相應函數
/*LPESULT*/void CPostmessageView::OnMyMessage(/*WPARAM wParam, LPARAM lParam*/) //注意這裡 的參數可要可不要 根據自己來定 傳回值也一樣
{
MessageBox("post msg finished!");
// return 0;
}