深入浅出MFC:MFC的程序的初始化过程

本文深入探讨了MFC程序的初始化过程,从全局WinApp对象theApp的创建,到InitApplication和InitInstance方法的调用,再到CMyFrameWnd及其子类的Create方法,最后阐述了theApp如何作为核心驱动整个MFC程序的运行和线程调度。
摘要由CSDN通过智能技术生成

对于一个标准的MFC的程序,弃去细枝末节,其主要的初始化流程主要如下:

首先是基本类的内容的声明与实现:

这些通常由VS内部自动生成,包含了一些MFC类的基本结构:

//MFC.h
#pragma once
//最基础的基本类型的定义

#define BOOL int
#define TRUE 1
#define FALSE 0

#include<iostream>
using namespace std;

class CObject
{
	public:
		CObject::CObject(){}
		CObject::~CObject() {}
};

class CCmdTarget : public CObject
{
public:
	CCmdTarget::CCmdTarget() {}
	CCmdTarget::~CCmdTarget() {}
};

class CWinThread :public CCmdTarget
{
public:
	CWinThread::CWinThread() {}
	CWinThread::~CWinThread() {}

	virtual BOOL InitInstance(){
		cout << "CWinThread::Instance"<<endl;
		return TRUE;
	}

	virtual int Run() {
		cout << "CWinThread::Run" << endl;
		return 1;
	}
};


class CWnd;
class CWinApp : public CWinThread
{
public:
	CWinApp* m_pCurrentWinApp;
	CWnd* m_pMainWnd;

public:
	CWinApp::CWinApp() {
		m_pCurrentWinApp = this;
	}

	CWinApp::~C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值