CMyApp *App=(CMyApp *)AfxGetApp();可以获得App类的句柄, 但我在对话框中如何获得View类的句柄? 我想获得获得View类的句柄。如何获得? 我试图再Dialog类中新建 CMyView *m_pView;  在调用该对话框时候:dlg.m_pView= this; dlg.DoModal();
不知道还有啥别的方法?

解决方案 »

  1.   

    CMDIFrameWnd *pFrame = 
                 (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
    CMDIChildWnd *pChild = 
                 (CMDIChildWnd *) pFrame->GetActiveFrame();
    CMyView *pView = (CMyView *) pChild->GetActiveView();
      

  2.   

    (CMyView *)(((CFrameWnd *)AfxGetMainWnd())->GetActiveView());
      

  3.   

    不是多文档,是单文档如何处理? 而是在新的dialog中调用View类。
      

  4.   

    参见:http://expert.csdn.net/Expert/topic/1695/1695386.xml?temp=5.584353E-02
      

  5.   

    具体是这样 我的View类是继承 CRecordSet 的,在View类的Form上有一个Combox, 在View对应的form 单击一button 弹出一对话框,在对话框中添加数据,添加成功后,然后获得View类的指针对象, dlg.m_pView = this; dlg.DoModal(); 然后在弹出的对话框的添加成功后添加的函数中调用  m_pView->m_combox.ResetContent(); for(..){m_pView->m_combox.AddItem(i)};
    但我刚才添加的数据并未插入到Combox中去?不知道为什么不能及时的刷新。我单步调试可以刷新过来(看到我刚才输入的数据。)但正式运行起来添加的那条记录并未在View类对应的Combox中刷新过来。 这个问题很怪?我一直都搞不清楚?