MFC BEGIN_MESSAGE_MAP()

简介: 引用:http://www.cppblog.com/momoxiao/archive/2009/10/22/99206.html 1BEGIN_MESSAGE_MAP(CpassApp, CWinApp)2    ON_COMMAND(ID_HELP, CWinApp::OnHelp)3END_MESSAGE_MAP() 这些都是宏定义,不是函数。

引用:http://www.cppblog.com/momoxiao/archive/2009/10/22/99206.html

1 BEGIN_MESSAGE_MAP(CpassApp, CWinApp)
2     ON_COMMAND(ID_HELP, CWinApp::OnHelp)
3 END_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 用户双击按钮时


例如:

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.

另外:

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

相关文章
|
3月前
|
存储 容器
map和set的封装
map和set的封装
35 0
|
7月前
|
安全 编译器 C语言
【C++】string 之 assign、at、append函数的学习
【C++】string 之 assign、at、append函数的学习
58 0
|
8月前
|
C++ 容器
【map和set的封装】
【map和set的封装】
54 0
|
11月前
|
编译器 C++
【C++】map和set的封装(上)
【C++】map和set的封装
67 0
|
Linux
编译OpenJDK8:error: control reaches end of non-void function [-Werror=return-type]
编译OpenJDK8:error: control reaches end of non-void function [-Werror=return-type]
148 0
auto,string.back(),string.pop_back() 不能用?使devc++拥有c++11的功能
auto,string.back(),string.pop_back() 不能用?使devc++拥有c++11的功能
262 0
auto,string.back(),string.pop_back() 不能用?使devc++拥有c++11的功能
TestRange.cs error CS0104: `Range' is an ambiguous reference between `System.Range' and Gtk.Range
TestRange.cs error CS0104: `Range' is an ambiguous reference between `System.Range' and Gtk.Range
135 0
error: ‘to_string‘ is not a member of ‘std‘ 或 error: ‘thread‘ is not a member of ‘std‘ 原因及解决办法
error: ‘to_string‘ is not a member of ‘std‘ 或 error: ‘thread‘ is not a member of ‘std‘ 原因及解决办法
1025 0
|
C语言 Android开发 C++
Eclipse/NSight解决办法:unsolved inclusion stdio.h/map/string/queue/list
Eclipse/NSight解决办法:unsolved inclusion stdio.h/map/string/queue/list
92 0
Eclipse/NSight解决办法:unsolved inclusion stdio.h/map/string/queue/list
|
编译器 C++
DECLARE_MESSAGE_MAP() 等消息映射宏以及 afx_msg消息映射函数
DECLARE_MESSAGE_MAP() 等消息映射宏以及 afx_msg消息映射函数
274 0
DECLARE_MESSAGE_MAP() 等消息映射宏以及 afx_msg消息映射函数