最近学习vc++ 6.0
来源:互联网 发布:搞笑网络歌曲大全 编辑:程序博客网 时间:2024/05/29 11:06
MFC --->六大仿真技术!
1.mfc 程序初始化过程
分析:
CObject
|
|----CCmdTarget
|
|----CWinThread
| |
| |----CWinApp
| |
| |----CMyWinApp
|----CDocument
| |
| |----CMyDoc
|
|----CWnd
|
|----CFrameWnd
| |
| |----CMyFrameWnd
|
|----CView
|
|--CMyView
这是结果:
CObject Constructor
CCmdTarget Constructor
CWinThread Constructor
CWinApp Constructor
CMyWinApp Constructor
CMyWinApp Destructor
CWinApp Destructor
CWinThread Destructor
CCmdTarget Destructor
CObject Destructor
废话少说上代码:
mfc.cpp
#include "my.h" // it should be mfc.h, but for CMyWinApp definition, so...
extern CMyWinApp theApp;
CWinApp* AfxGetApp()
{
return theApp.m_pCurrentWinApp;
}
mfc.h
#include <iostream.h>
class CObject
{
public:
CObject::CObject() {
cout << "CObject Constructor /n";
}
CObject::~CObject() {
cout << "CObject Destructor /n";
}
};
class CCmdTarget : public CObject
{
public:
CCmdTarget::CCmdTarget() {
cout << "CCmdTarget Constructor /n";
}
CCmdTarget::~CCmdTarget() {
cout << "CCmdTarget Destructor /n";
}
};
class CWinThread : public CCmdTarget
{
public:
CWinThread::CWinThread() {
cout << "CWinThread Constructor /n";
}
CWinThread::~CWinThread() {
cout << "CWinThread Destructor /n";
}
};
class CWinApp : public CWinThread
{
public:
CWinApp* m_pCurrentWinApp;
public:
CWinApp::CWinApp() {
cout << "CWinApp Constructor /n";
m_pCurrentWinApp = this;
}
CWinApp::~CWinApp() {
cout << "CWinApp Destructor /n";
}
};
class CDocument : public CCmdTarget
{
public:
CDocument::CDocument() {
cout << "CDocument Constructor /n";
}
CDocument::~CDocument() {
cout << "CDocument Destructor /n";
}
};
class CWnd : public CCmdTarget
{
public:
CWnd::CWnd() {
cout << "CWnd Constructor /n";
}
CWnd::~CWnd() {
cout << "CWnd Destructor /n";
}
};
class CFrameWnd : public CWnd
{
public:
CFrameWnd::CFrameWnd() {
cout << "CFrameWnd Constructor /n";
}
CFrameWnd::~CFrameWnd() {
cout << "CFrameWnd Destructor /n";
}
};
class CView : public CWnd
{
public:
CView::CView() {
cout << "CView Constructor /n";
}
CView::~CView() {
cout << "CView Destructor /n";
}
};
// global function
CWinApp* AfxGetApp();
my.cpp
#include "my.h"
CMyWinApp theApp;
//------------------------------------------------------------------
// main
//------------------------------------------------------------------
void main()
{
CWinApp* pApp = AfxGetApp();
}
//------------------------------------------------------------------
my.h
#include <iostream.h>
#include "mfc.h"
class CMyWinApp : public CWinApp
{
public:
CMyWinApp::CMyWinApp() {
cout << "CMyWinApp Constructor /n";
}
CMyWinApp::~CMyWinApp() {
cout << "CMyWinApp Destructor /n";
}
};
class CMyFrameWnd : public CFrameWnd
{
public:
CMyFrameWnd() {
cout << "CMyFrameWnd Constructor /n";
}
~CMyFrameWnd() {
cout << "CMyFrameWnd Destructor /n";
}
};
- 最近学习vc++ 6.0
- 最近在学习VC++!
- 最近在学习VC,特地开一个BLOG!
- 最近学习
- 最近学习
- 最近学习
- 【最近学习】
- VC++ 6.0学习
- vc++6.0 菜单学习
- VC++6.0如何学习?
- 最近的学习
- 最近在学习COM
- 最近学习方向
- 最近学习camera calibration
- 最近学习的XML。
- 我最近在学习、、、
- 最近的学习方向
- 最近学习VB.NET
- 网页 查看源文件”时打开ie所在目录或打开桌面的解决办法综述
- utf-8相关资源
- UTF-8编解码之实现
- Oracle SQL经典SQL语句讲解
- oracle列转行方法总结
- 最近学习vc++ 6.0
- javascript简介(概念)
- 程序集、命名空间、Internal
- 构造SQLJ的界面化开发环境
- SQL SERVER 行级触发器(准)
- 学习线路::::::2008
- 城市热点携手中国移动四川凉山分公司共创辉煌
- 如何在Web页面上直接打开、编辑、创建Office文档
- C++库大汇