DECLARE_MESSAGE_MAP END_MESSAGE_MAP 显示另外 13 个 为了支持消息映射,MFC 提供了以下宏: 消息映射声明和分界宏 消息映射宏 展开表 名称描述 ON_COMMAND指示哪个函数将处理指定的命令消息。 ON_COMMAND_EX指示哪个函数将处理指定的命令消息。 ON_CONTROL指示哪个函数将处理指定的控件通知消息。
afx_msg void OnRButtonUp(UINT nFlags,CPoint point); DECLARE_MESSAGE_MAP() }; 1. 2. 3. 4. 5. 6. 7. 8. 9. 步骤2 - 添加以下两个消息映射。 BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_KEYDOWN() ON_WM_LBUTTONDOWN() ON_WM_RBUTTONUP() END_MESSAGE_MAP() 1. 2. 3. 4. 5....
// 1、DECLARE_MESSAGE_MAP()// 2、BEGIN_MESSAGE_MAP()(theClass,baseClass)// 3、END_MESSAGE_MAP() DELCARE_MESSAGE_MAP DECLARE_MESSAGE_MAP()宏展开: #defineDECLARE_MESSAGE_MAP()private:staticconstAX_MSGMAP_ENTRY _messageEntries[];protected:staticAFX_DATAconstAFX_MSGMAP messageMap;virtualconstAFX...
第二个重要的宏:BEGIN_MESSAGE_MAP 作用:定义DECLARE_MESSAGE_MAP宏声明的静态变量。 BEGIN_MESSAGE_MAP定义的源代码如下: #defineBEGIN_MESSAGE_MAP(theClass, baseClass) constAFX_MSGMAP*theClass::GetMessageMap()const {return&theClass::messageMap; } AFX_COMDATconstAFX_MSGMAP theClass::messageMap= {&base...
1.DECLARE_MESSAGE_MAP 宏查看. 代码语言:javascript 复制 #defineDECLARE_MESSAGE_MAP()\protected:\staticconstAFX_MSGMAP*PASCALGetThisMessageMap();\ virtualconstAFX_MSGMAP*GetMessageMap()const;\ 这个宏一幕了然. 添加了两个方法.一个是虚方法.
DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialogEx(IDD_ABOUTBOX) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() // CMFCApplication1Dlg 对话框 ...
在实现 ( .cpp) 文件中,该文件定义了类的成员函数,启动带有 BEGIN_MESSAGE_MAP 宏的消息映射,然后为每个消息处理函数添加宏项,并通过 END_MESSAGE_MAP 宏完成消息映射。 2.2 DECLARE_MESSAGE_MAP 声明类定义消息映射。CCmdTarget程序中的每个派生类必须提供消息映射来处理消息。
在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间,使用ON_MESSAGE、ON_WM_XXX等宏来添加具体的消息处理函数映射。 例如,假设要添加对WM_LBUTTONDOWN消息的处理: 打开类的头文件。 在类的声明中添加DECLARE_MESSAGE_MAP()。 在类的实现文件中,使用BEGIN_MESSAGE_MAP和END_MESSAGE_MAP宏将消息映射表的定义包围起来。 在...
DECLARE_MESSAGE_MAP() BEGIN_MESSAGE_MAP(本类, 基类) ON_COMMAND(ID_APP_ABOUT, OnAppAbout) END_MESSAGE_MAP() 加入链表 AfxWndProc (只有发向窗口才会被调用),此函数 将使用HWND 在 mfc库的全局变量中 找到句柄映射表,转为 CWnd 型 ,最终使用 派生类的对OnCmdMsg()的重载 来实现 不同的路由 ...
在类的定义(头文件)里,它增加了消息处理函数声明,并添加一行声明消息映射的宏DECLARE_MESSAGE_MAP。 在类的实现(实现文件)里,实现消息处理函数,并使用IMPLEMENT_MESSAGE_MAP宏实现消息映射。一般情况下,这些声明和实现是由MFC的ClassWizard自动来维护的。看一个例子: ...