MFC BEGIN_MESSAGE_MAP()
生活随笔
收集整理的這篇文章主要介紹了
MFC BEGIN_MESSAGE_MAP()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MFC BEGIN_MESSAGE_MAP()
1BEGIN_MESSAGE_MAP(CpassApp,?CWinApp)
2????ON_COMMAND(ID_HELP,?CWinApp::OnHelp)
3END_MESSAGE_MAP()
這些都是宏定義,不是函數。
在BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之間添加你的消息響應函數,為每個消息處理函數加入一個入口
BEGIN_MESSAGE_MAP( theClass, baseClass )
參數:
說明:
使用BEGIN_MESSAGE_MAP宏開始你的消息映射的定義。
在你的類的成員函數的實現文件(.CPP)中,使用BEGIN_MESSAGE_MAP宏開始消息映射,然后為每個消息處理函數加入一個入口,最后用END_MESSAGE_MAP宏結束消息映射。
每個消息映射入口的格式如下:
ON_Notification(id, memberFxn)
其中id指定了發送通知的控件的子窗口的ID,而memberFxn指定了處理該通知的父對象中的成員函數名。
父對象的函數原型格式如下:
afx_msg void memberFxn( );
可能的消息映射入口如下:
例如:
1BEGIN_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)
8END_MESSAGE_MAP()
2????ON_COMMAND(ID_HELP,?CWinApp::OnHelp)
3END_MESSAGE_MAP()
這些都是宏定義,不是函數。
在BEGIN_MESSAGE_MAP()和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 | 用戶雙擊按鈕時 |
例如:
1BEGIN_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)
8END_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.
另外:
DoDataExchange:當UpdateData時候
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.
總結
以上是生活随笔為你收集整理的MFC BEGIN_MESSAGE_MAP()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC动态创建控件并响应事件代码实现过程
- 下一篇: 对接kafka_Kafka系列9:面试题