在派生框架类中的头文件声明消息映射:
DECLARE_MESSAGE_MAP()
在实现的.cpp中实现对应的消息映射:
BEGIN_MESSAGE_MAP(class,BasedClass)
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
在派生类声明对应的函数原型;
void OnButtonDown(UINT, CPoint);
在cpp文件中实现该函数
void MyFrame::OnButtonDown(UINT, CPoint)
{
MessageBox(_T("Hello"), _T("where are you"), 0);
}
完整代码如下:
头文件部分
#pragma once
#include<afxwin.h>
class MyFrame :public CFrameWnd
{
public:
MyFrame();
DECLARE_MESSAGE_MAP()
void OnButtonDown(UINT, CPoint);
};
class MyApp :public CWinApp
{
public:
virtual BOOL InitInstance();
};
实现部分:
#include "Header.h"//此处为头文件名字
BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd)
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
MyFrame::MyFrame()
{
Create(NULL, TEXT("MFC"));
}
void MyFrame::OnButtonDown(UINT, CPoint)
{
MessageBox(_T("Hello"), _T("where are you"), 0);
}
BOOL MyApp::InitInstance()
{
MyFrame* My = new MyFrame;
My->ShowWindow(SW_SHOWNORMAL);
My->UpdateWindow();
m_pMainWnd = My;
return true;
}