mfc 封装 theapp winmain afxGetapp

解决疑惑:afxGetApp () 获得theApp 的指针的过程

 

基本上是这样的

一,定义

     class ModuleState
      {
     public:
     WinApp*  m_pcurrentApp;
      HINSTANCE m_hCurrentInst;


      };

 

二,生成全局对象

       ModuleState  state;(这个对象应该比theapp 生成的早点。自己这样认为的,没做实验验证迟了的后果)

 

三   全局函数 GblGetModuleState    (类似afxGetModuleState 或者 AfxGetApp.    自己写的么,就不使afx 了!)

         ModuleState* GblGetModuleState()
        {
               return &state;
         }

 

 

四, 在WinApp的构造函数中,初始化state的m_pcurrentApp

     WinApp::WinApp()
      {
               GblGetModuleState()->m_pcurrentApp = this;
       }

五,为了验证是否是自己的Myapp:public Winapp生成的 theapp

      使用两个虚函数 winapp::Instance(){cout<<"in winapp";}

          

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值