MFC创建窗口流程

本文介绍了MFC程序的基本框架,包括CWinApp应用程序类和CFrameWnd框架类的使用。在程序启动时,首先创建CWinApp对象,接着通过CFrameWnd派生类创建窗口并进行显示和更新。通过这段代码示例,详细展示了MFC程序初始化的步骤。

一个MFC程序框架

1、应用程序类 CWinApp

2、框架类 CFrameWnd

 

流程:

1、有且仅有一个全局的应用程序类对象 MyApp myApp;

2、在程序入口函数实现 InitInstance()

      1)、给框架类对象动态分配空间(自动调用它的构造函数)

             框架类MyFrame对象构造函数里创建窗口Create()

    2)、框架类对象显示窗口ShowWindow()

   3)、框架类对象更新窗口UpdateWindow()

   4)、保存框架类对象指针给m_pMainWnd

 

 

代码

myApp.h

#pragma once
 
#include <afxwin.h>
 
// 1)应用程序类 CWinApp,派生类(子类)
 
class MyApp : public CWinApp
{
public:
    //基类的虚函数
    //派生类重写
    //MFC 程序的入口地址
    virtual BOOL InitInstance();
};
 
 
// 2)框架类 CFrameWnd,派生类(资料)
class MyFrame : public CFrameWnd
{
public:
    MyFrame();
};
myApp.cpp

#include "myApp.h"
 
//有且仅有一个全局的应用程序类对象
MyApp myApp;
 
#pragma region MyApp
 
//程序的入口地址
BOOL MyApp::InitInstance()
{
    /*
    1、 创建框架类对象
    2、 显示窗口
    3、 更新窗口
    4、 保存框架类对象指针
    */
    
    //1、 创建框架类对象
    MyFrame *frame = new MyFrame(); //构造函数
    
    //2、 显示窗口
    frame->ShowWindow(SW_NORMAL);
 
    //3、 更新窗口
    frame->UpdateWindow();
 
    //4、 保存框架类对象指针
    m_pMainWnd = frame;
 
    return TRUE;
}
 
#pragma endregion 
 
#pragma region MyFrame
MyFrame::MyFrame()
{
    // Cwnd的成员函数 CWnd::Create
    // CFrameWnd 继承于 CWnd
    Create(NULL, TEXT("我的MFC程序"));
}
 
#pragma endregion

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个月太忙没时间看C++

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值