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_MA来自P宏开始你的消息映射的定义。
在你的类的成员函数的实现文件(.CPP)中,使用BEG360百科IN_MESSAGE_MA村听基树委P宏开始消息映射,然后件精连感多为每个消息处理函数加入一个入口,最后用END_MESSAGE_MAP宏结束消息映射。
每个消息映射入口的格式如下:
ON_Notif决通明双两饭之云饭ication(id, member证罪却席总Fxn)
其中id指定了发送通知的控件的子窗口的ID,而memberFxn指定了处理该通知的父对象中的成员函数名。
父对象的函数原型格式如下:
afx_msg void memberFxn( );
可能的消息映射入口如下:
映射入口 | 何时向父对象发送消息 |
ON_BN_CLICKED | 用户单击按钮时 |
ON_BN_DOUBLECLICKED | 用户双击按钮时 |
举例
1 BEGIN限破些触换_MESSAGE外支句落而巴派军明_MAP(CpassDlg调香随身但套, CDialog)
2 ON_WM_SYSCOMMAND()
3 O显问显光N_WM_PAINT()
4 ON_WM_QUERYDRAGICON()
5 //}}AFX_MSG_MAP
6 ON_BN_CLICKED(IDOK, OnOK)
7 ON_B千怕况增N_CLICKED(IDC样继地贵ANCEL, OnExit)
8 END_MESSAGE_MAP()
void CTestDlg::O实nSysCommand(UINT nID, LPARAM lPara检免义全扩文盐m)
这个函数响应系统控制菜单的命令.(即左上酸张矛角图标处)。
OnSysCommand:The framework calls this member function when the user selects a command from the Control menu, o商计牛龙台认那斗曾损r 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 drag经项至另那苦s the minim田确顺够好兵ized window.