MFC(Microsoft Foundation Classes)是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,它是一个Windows图形界面开发的框架。相比于Win32,它使用起来更加方便和灵活,并且对Win32的类库进行了封装,我们在MFC项目中也可以使用Win32 的API函数。
MFC项目类的继承
下面我们就介绍一些关于MFC项目的创建:
创建MFC项目有五种模板:
- 1、单文档(SDI)
这个创建方式包含继承CWinApp、CFrameWnd和CView这三个基础的MFC框架类。(例如:我们使用的我的电脑的界面,每次就只能打开一个文件夹界面)
- 2、多文档(MDI)
这个创建方式包含了单文档中的CWinApp、CFrameWnd和CView这三个基础的MFC框架类之后,还创建一个关于CFrameWnd类的子类。在这个子类中就可以实现编辑多个文档作用(例如:我们使用的VS、VC等,可以有多个编辑界面)
- 3、基于对话框
这种创建方式是最简单的创建方式,这种方式中只有有个CWinApp类和一个基础的对话框类
- 4、多个顶级文档
这种创建方式包含CWinApp、CFrameWnd和CView这三个基础的MFC框架类之后。
可以创建多个顶层窗口。(例如:就像我的电脑,点击一次我的电脑就可以出现一个文件夹粗昂口,在此点击就有可以出现一个,并且这两个窗口互补影响)
- 5、手动创建一个MFC项目,不使用创建模板。
这中创建方式比较自由,但是操作起来比较麻烦(不建议使用)
还有一种方式,就是使用第一、二和四的方式创建项目的时候,可以选择使用视图文档结构。
使用这个结构,这个结构是将显示和数据处理(包括文件储存打开灯)分开处理的功能。使用这个结构,视图只负责界面的显示,而文档负责数据的处理。这样的创建方式包含继承CWinApp、CFrameWnd和CView这三个基础的MFC框架类。还包含一个CDocument文档处理类和CDocTenmpelate文档模板类(CDocTemplate)将原本独立的文档、视图和框架窗口对象组织在一起。
这篇文章我们主要讲解一下如何手动创建一个MFC项目
- 1、创建一个常规的空项目,修改项目属性将其MFC的使用选择为在静态库中使用MFC或者在共享DLL中使用MFC。将字符集选择为使用Unicode字符集。
- 2、添加.h 和.Cpp文件
.h文件如下,在这个文件中创建两个新类,分别继承CWinApp和CFrameWnd两个类
#include <afxwin.h>
class MyApp :public CWinApp
{
public:
virtual BOOL InitInstance();
};
class MyMainWindow : public CFrameWnd
{
public:
MyMainWindow();
};
.Cpp文件如下,在和温江中将CWinApp类和CFrameWnd类联系起来。
#include "MyApp.h"
MyApp app;
BOOL MyApp::InitInstance()
{
this->m_pMainWnd = new MyMainWindow();
this->m_pMainWnd->ShowWindow(this->m_nCmdShow);
this->m_pMainWnd->UpdateWindow();
return true;
}
MyMainWindow::MyMainWindow()
{
Create(NULL,_T("Hello 这是我的第三个MFC项目"));
}
运行结果