欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: MFC中自由使用自定義消息 [打印本頁]

作者: xiaoliu    時間: 2014-11-10 23:01
標題: MFC中自由使用自定義消息
消息映射、循環機制是Windows程序運行的基本方式。VC++ MFC 中有許多現成的消息句柄,可當我們需要完成其它的任務,需要自定義消息,就遇到了一些困難。在MFC ClassWizard中不允許添加用戶自定義消息,所以我們必須在程序中添加相應代碼,以便可以象處理其它消息一樣處理自定義消息。通常的做法是采取以下步驟:

  第一步:定義消息。

  推薦用戶自定義消息至少是WM_USER+100,因為很多新控件也要使用WM_USER消息。

#define WM_MY_MESSAGE (WM_USER+100)
  第二步:實現消息處理函數。該函數使用WPRAM和LPARAM參數并返回LPESULT。

LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 處理用戶自定義消息
...
return 0;
}

  第三步:在類頭文件的AFX_MSG塊中說明消息處理函數:

class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函數
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}

  第四步:在用戶類的消息塊中,使用ON_MESSAGE宏指令將消息映射到消息處理函數中。

BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1