BEGIN_MESSAGE_MAP

BEGIN_MESSAGE_MAP

BEGIN_MESSAGE_MAP是宏定義的一種,在BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之間添加你的訊息回響函式,為每個訊息處理函式加入一個入口。

基本介紹

  • 中文名:BEGIN_MESSAGE_MAP
  • 類型:宏定義的一種
  • theClass:指定訊息映射所屬的類的名字
  • baseClass:指定theClass的基類的名字
簡單用法,參數,說明,舉例,另外,

簡單用法

BEGIN_MESSAGE_MAP(CpassApp, CWinApp)
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
這些都是宏定義,不是函式。
BEGIN_MESSAGE_MAP( theClass, baseClass )

參數

theClass
指定訊息映射所屬的類的名字。
baseClass
指定theClass的基類的名字。

說明

使用BEGIN_MESSAGE_MAP宏開始你的訊息映射的定義。
在你的類的成員函式的實現檔案(.CPP)中,使用BEGIN_MESSAGE_MAP宏開始訊息映射,然後為每個訊息處理函式加入一個入口,最後用END_MESSAGE_MAP宏結束訊息映射。
每個訊息映射入口的格式如下:
ON_Notification(id, memberFxn)
其中id指定了傳送通知的控制項的子視窗的ID,而memberFxn指定了處理該通知的父對象中的成員函式名。
父對象的函式原型格式如下:
afx_msg void memberFxn( );
可能的訊息映射入口如下:
映射入口
何時向父對象傳送訊息
ON_BN_CLICKED
用戶單擊按鈕時
ON_BN_DOUBLECLICKED
用戶雙擊按鈕時

舉例

1 BEGIN_MESSAGE_MAP(CpassDlg, CDialog)
2 ON_WM_SYSCOMMAND()
3 ON_WM_PAINT()
4 ON_WM_QUERYDRAGICON()
5 //}}AFX_MSG_MAP
6 ON_BN_CLICKED(IDOK, OnOK)
7 ON_BN_CLICKED(IDCANCEL, OnExit)
8 END_MESSAGE_MAP()
void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
這個函式回響系統控制選單的命令.(即左上角圖示處)。
OnSysCommand:The framework calls this member function when the user selects a command from the Control menu, or when the user selects the Maximize or the Minimize button.

另外

OnInitDialog:對話框類已經構造,但是對話框還沒有顯示出來的時候
OnQueryDragIcon:The framework calls this member function by a minimized (iconic) window that does not have an icon defined for its class. The system makes this call to obtain the cursor to display while the user drags the minimized window.

相關詞條

熱門詞條

聯絡我們