Loading

编写第一个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"));
}

程序执行的流程

  1. 程序开始前先实例化应用程序对象(有且仅有一个)
  2. 执行程序的入口函数 InitInstance()
  3. 给框架类MyFrame对象动态分配内存(自动调用它的构造函数),在其构造函数内部,通过CWnd::Create创建窗口
  4. 框架类对象显示窗口 Wnd::ShowWindow
  5. 框架类对象更新窗口 Wnd::UpdateWindow
  6. 保存框架类对象指针 CWinThread::m_pMainWnd

注意:对项目要进行配置 在共享DLL中使用MFC

posted @ 2020-03-27 20:57  天使的羽翼  阅读(403)  评论(0编辑  收藏  举报