问题是这样的,我如何在CDialog类派生出来的dlg(自己添加的类)类里面获得CView类的指针。我想获得这个指针原因是这样的,我在对话框的一些控件里面获得了一些数据,并保存在了dlg类的一个链表里。现在想把链表中的内容输出,自然是输出到View里面最好了。想在View里面输出,自然要获得View类的指针了,接着向下就好做了。大家帮忙哈。可能表述的不很清楚,但最主要的就是怎样在对话框类里面获得视图类的指针。

解决方案 »

  1.   

    (Cyourview*) pView=(Cyourview*)((CMainFrame*)((CyourApp*)GetAfxApp())->GetMainWnd())->GetActiveWindow();
    就OK了
      

  2.   

    http://topic.csdn.net/u/20080523/22/3a4ac745-9d66-4582-b11c-8bf6a4ca1128.html
    和你的问题相似.
      

  3.   

    如果视图是对话框的父窗口,可以用GetParent获得其指针。
    如果是单文档单视图架构,可以用((CFrameWnd*)AfxGetMainWnd())->GetActiveWindow()来获得视图指针。
      

  4.   

    单文档
    CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd; 
    C***View* pView = (C***View *)pFrame->GetActiveView();
    多文档
    CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;  
    CMDIChildWnd  *pChild = (CMDIChildWnd  *)pFrame->GetActiveFrame();
    C***View* pView = (C***View *)pChild->GetActiveView();
      

  5.   

    LZ,问题解决了吗?
    我试了楼上各位的方法,有一个问题是,在CMydialog(新加的对话框),要引用C***View就要加入“#include ***View.h”的头文件,但是这样就总是编译报错。错误信息是指向:“***View.h”里的这句话:Ct9Doc* GetDocument() const。
    不知是何原因,高人解释一下吧?
      

  6.   

    View源文件里面有一个DOC.h的文件,把这个剪切到View类头文件里面,再试一下,我这边这个指针试能用了,不过没解决我的问题。