首页 > 编程语言 > 详细

MFC框架仿真<一>

时间:2016-04-03 17:18:12      阅读:211      评论:0      收藏:0      [点我收藏+]

六个关键仿真,在去年的某个时候研究过一段时间,并且对这个仿真做了自己的二次仿真,并且做了笔记,可遗憾的是写的代码没有保存下来。

接触的所谓框架不多,但是说实在话,MFC一开始接触真的很难!这次给我极大的教训,就是研究完一个东西,一定要详细的记录下来,包括流程和完整代码!
技术分享头文件MFC.H

技术分享
#include <iostream.h>

class CObject/*根类*/
{
public:
  CObject()  {cout << "CObject 构造 \n";}                                             
  ~CObject() {cout << "CObject 析构 \n";}                                              
};

class CCmdTarget : public CObject /*二级类*/
{
public:
  CCmdTarget()  {cout << "CCmdTarget 构造 \n";}                                                       
  ~CCmdTarget() {cout << "CCmdTarget 析构 \n";}                                                         
};

class CWinThread : public CCmdTarget
{
public:
  CWinThread()  {cout << "CWinThread 构造 \n";}                                                        
  ~CWinThread() {cout << "CWinThread 析构 \n";}                                                         
};

class CWinApp : public CWinThread
{
public:
  CWinApp* m_pCurrentWinApp; /*存放当前对象地址*/
public:
  CWinApp()  {
                 cout << "CWinApp 构造 \n";
                 m_pCurrentWinApp = this;        
            }
  ~CWinApp() {cout << "CWinApp 析构 \n";}                                              
};

class CDocument : public CCmdTarget
{
public:
  CDocument()   {cout << "CDocument 构造 \n";}                                                         
  ~CDocument()  {cout << "CDocument 析构 \n";}                                                        
};


class CWnd : public CCmdTarget /*窗口类*/
{
public:
  CWnd()   {cout << "CWnd 构造 \n";}                                   
  ~CWnd()  {cout << "CWnd 析构 \n";}                                   
};

class CFrameWnd : public CWnd
{
public:
  CFrameWnd()   {cout << "CFrameWnd 构造 \n";}                                                       
  ~CFrameWnd()  {cout << "CFrameWnd 析构 \n";}                                                       
};

class CView : public CWnd
{
public:
  CView()   {cout << "CView 构造 \n";} 
  ~CView()  {cout << "CView 析构 \n";}                                       
};

CWinApp* AfxGetApp(); /*全局函数*/
View Code

头文件my.H

技术分享
#include <iostream.h>
#include "mfc.h"

class CMyWinApp : public CWinApp
{
public:
  CMyWinApp()   {cout << "CMyWinApp 构造 \n";}
                                                      
  ~CMyWinApp()  {cout << "CMyWinApp 析构 \n";}                                                        
};

class CMyFrameWnd : public CFrameWnd
{
public:
  CMyFrameWnd()   {cout << "CMyFrameWnd 构造 \n";}                    
                  
  ~CMyFrameWnd()  {cout << "CMyFrameWnd 析构 \n";}                  
};
View Code

MFC.cpp

技术分享
#include "my.h"  
extern CMyWinApp theApp;

CWinApp* AfxGetApp() /*全局函数AfxGetApp,返回对象地址*/
{
  return theApp.m_pCurrentWinApp;
}
View Code

MY.CPP

技术分享
#include "my.h"
CMyWinApp theApp;/*起点->全局对象*/

void main()
{
    CWinApp* pApp = AfxGetApp();/*返回对象地址*/
}
View Code

 

MFC框架仿真<一>

原文:http://www.cnblogs.com/tinaluo/p/5350058.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!