需求是这样
我有意个类clan继承了cview类
再clan中又一个方法需要访问当前的document中的一个成员:m_romCtrl(一个类CRomCtrl)我看到再cview中用的时候是这样
CRomCtrl *pCtrl = &(GetDocument()->m_romCtrl)但是再clan中具体应该怎么访问?因为我不会mfc
请求高手帮忙!!调试通过立刻给分,谢谢!1

解决方案 »

  1.   

    你的不是继承类吗?当然可以访问父类的方法:CRomCtrl *pCtrl = &(GetDocument()->m_romCtrl)
      

  2.   

    一样的呀,代码没有错误。CRomCtrl *pCtrl = &(GetDocument()->m_romCtrl)怎么错了?
    没有包含头文件?
    非公共数据成员?
    无效指针?
      

  3.   

    在视图的某个函数里获得当前文档指针
    CDocument * pCurrentDoc =(CFrameWnd *)m_pMainWnd->GetActiveDocument();
    //剩下的就是你的操作了。
      

  4.   

    error C2065: 'GetDocument' : undeclared identifier我这样用出这种错误
      

  5.   

    CDocument * pCurrentDoc =(CFrameWnd *)m_pMainWnd->GetActiveDocument();
    CRomCtrl *pCtrl = &(pCurrentDoc->m_romCtrl);这样页不对
    m_pMainWnd应该是哪里来的?
      

  6.   

    缺少document的头文件,楼上正解
      

  7.   

    在clan.h中添加:
    public:
    CYourDoc* GetDocument();在clan.cpp中添加:
    CYourDoc* Cclan::GetDocument()
    {
    ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CYourDoc)));
    return (CYourDoc*)m_pDocument;
    }
    OK
    给点分
      

  8.   

    不行啊,还是一样我家上头文件还是一样
    CRomCtrl *pCtrl = &(GetDocument()->m_romCtrl)
    错误还是那个
    error C2065: 'GetDocument' : undeclared identifier
    能给我个正确的写法吗?
      

  9.   

    来自这里CMyApp::InitInstance()
    m_pMainWnd是一个指向主窗口的指针
      

  10.   

    m_pMainWnd变量就是MainFrame的指针,是CAPP的成员也可以用
    CMainFrame *pMain =(CMainFrame *)AfxGetMainWnd();
    来代替
      

  11.   

    越来越蒙了
    像samsun2000(子弹) 这样写m_pDocument应该是个什么类型的,
    声明再那里
      

  12.   

    laiyiling(最熟悉的陌生人)(知道的太少啦,好多的问题不会!)
    谢谢你,
    你能帮我写完整吗?
    我有除了一堆的错误
    怎么才能让它通过呢
      

  13.   


    CDocument * pCurrentDoc =(CMainFrame *)AfxGetMainWnd()->GetActiveDocument();类名要根据你的情况来修改,你照拌过去用当然会是一堆的错了。