为了不受视图框架的约束,我们先不用向导做些简单的工作熟悉一下如何使用类视图进行添加一些代码和消息。但是大的工程还是需要用到MFC的向导。
2、
3
4、按照步骤3在头文件夹右击添加头文件
添加完毕后书写如下代码
.h文件
#include <afxwin.h>
class CMyApp : public CWinApp
{
};
class CMainWindow : public CFrameWnd
{
public:
CMainWindow();
};
.cpp文件
#include "hello.h"
CMyApp app;
然后,我们通过类视图添加代码,为了不受MFC视图框架的约束
右击----属性
点击上面的重写框
然后我们在添加消息,点击消息框
找到WM_PAINT WM_LBUTTONDOWN 进行添加代码,类似于
然后添加代码
.h中的代码会自动添加好,我在这里粘贴出来
#include <afxwin.h>
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
class CMainWindow : public CFrameWnd
{
public:
CMainWindow();
DECLARE_MESSAGE_MAP()
afx_msg void OnPaint();
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
};
.cpp文件中需要自己添加一些代码
#include "hello.h"
CMyApp app;
//函数是自动生成,但是函数的实现需要自己写
BOOL CMyApp::InitInstance()//函数是自动生成。
{
// TODO: 在此添加专用代码和/或调用基类
this->m_pMainWnd = new CMainWindow();
this->m_pMainWnd->ShowWindow(this->m_nCmdShow);
this->m_pMainWnd->UpdateWindow();
return CWinApp::InitInstance();
}
CMainWindow::CMainWindow()
{
this->Create(NULL,TEXT("hello"));
}
BEGIN_MESSAGE_MAP(CMainWindow, CFrameWnd)
ON_WM_PAINT()
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
void CMainWindow::OnPaint()//函数是自动生成。添加的paint 消息
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CFrameWnd::OnPaint()
CRect rect;
this->GetClientRect(&rect);
dc.DrawText(TEXT("HELLO"),-1,&rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}
void CMainWindow::OnLButtonDown(UINT nFlags, CPoint point)//函数是自动生成。添加的鼠标左键消息
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
MessageBox(TEXT("HELLO"),TEXT("MFC"));
CFrameWnd::OnLButtonDown(nFlags, point);
}