编写第一个MFC应用程序
MFC简介
微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量,其中包含的类包含大量Windows句柄封装类和很多WIndows的内置控件和组件的封装类。
MFC给Windows操作系统提供了面向对象的接口,支持可重用性、自包含性以及其他OPP原则,MFC通过编写类来封装窗口、对话框以及其他对象,引入某些关键的虚函数(覆盖这些函数可以改变派生类的功能)来完成。
代码的编写
新建一个Win32的空项目,建立名为mfc.h的头文件和名为mfc.cpp的源文件
//mfc.h
#include<afxwin.h> //mfc头文件
class MyApp:public CWinApp //CWinApp应用程序类
{
public:
//程序入口
virtual BOOL InitInstance();
};
class MyFrame:public CFrameWnd //窗口框架类
{
public:
MyFrame();
};
//mfc.cpp
#include"mfc.h"
MyApp app;//全局应用程序对象,有且仅有一个
BOOL MyApp::InitInstance()
{
//创建窗口
MyFrame * frame = new MyFrame;
//显示和更新
frame->ShowWindow(SW_SHOWNORMAL);
frame->UpdateWindow();
m_pMainWnd = frame;//保存指向应用程序的主窗口的指针
return TRUE;//返回正常的初始化
}
MyFrame::MyFrame()
{
Create(NULL, TEXT("mfc"));
}
程序执行的流程
- 程序开始前先实例化应用程序对象(有且仅有一个)
- 执行程序的入口函数 InitInstance()
- 给框架类MyFrame对象动态分配内存(自动调用它的构造函数),在其构造函数内部,通过CWnd::Create创建窗口
- 框架类对象显示窗口 Wnd::ShowWindow
- 框架类对象更新窗口 Wnd::UpdateWindow
- 保存框架类对象指针 CWinThread::m_pMainWnd
注意:对项目要进行配置 在共享DLL中使用MFC