我在CChileFrame里有一个整数变量S
我要在CDrawView使用这个变量,应该怎么办。请写的具体一些,谢谢。

解决方案 »

  1.   

    ((CChildFrame*)AfxGetMainWnd())->m_xxx;
      

  2.   

    CChileFrame 是不是写错了,可能是CChildFrame吧。暂且以原文为准吧。
    如果CChileFrame的客户窗口是CDrawView类的对象,那么可以这样做:
    //DrawView.cpp
    #incluce "ChileFrame.h"   //具体的文件名视项目而定
    void SomeFunction(void)
    {
        CChileFrame *pParent=(CChileFrame *)GetParent();
        pParent->S=88; //给S赋值
    }
      

  3.   

    CMainFrame* pMain = (CMainFrame*) AfxGetMainWnd();
    CChildFrame* pChild = (CChildFrame*)pMain->GetActiveFrame();首先获取CMainFrame再获取CChildFrame,然后通过pChild就可以访问CChildFrame的变量了。别忘了包括头文件啊
      

  4.   

    1. 在CYourView里#include "ChildFrm.h"
    2. int nValue = ((CChildFrame*)GetParent())->nValue;
      

  5.   

    要对mdi/sdi都适用的话还是用GetParent最简单
      

  6.   

    定义在APP里
    ((CxxxxApp*)(AfxGetApp()))->m.....调用
      

  7.   

    用全局变量最简单:
    CChileFrame头文件里声明:int s;
    CDrawView头文件声明: extern int s;