MFC-消息映射

在派生框架类中的头文件声明消息映射:

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;
}

猜你喜欢

转载自blog.csdn.net/qq_37774304/article/details/86422064
今日推荐