通过以前发布的信息:
CMainFrame   *pMain=(CMainFrame   *)AfxGetApp()->m_pMainWnd;   
C×××View   *pView=(C×××View   *)pMain->GetActiveView();
应该已经得到了视图的指针,但
pView->OnFileNew()时,,OnFileNew为私有,改到public中。编译通过,执行此功能时出错退出。
pView->SendMessage(自定义消息),无任何消息,好象视图类根本收不到此消息。但在自身视图类中发送时没有问题。该如何实现呢?

解决方案 »

  1.   

    pView->SendMessage 视图肯定能收到的!!
      

  2.   

    是这样的,我的单文档程序,主视图采用CFormView.
    又建了一个对话框,继承自CFormView,现在是在这个对话框类中想操作主视图类中函数。通过
    跟踪,发现pView指针为本身View的指针,而不是主视图指针。
      

  3.   

    已经解决。
    CView *pView;
    CTestDoc *pDoc = (CTestDoc*)GetDocument();
    POSITON pos= pDoc->GetFirstViewPosition();
    while(pos!=NULL)
    {
       pView=pDoc->GetNextView(pos);
      if(pView->IsKindOf(RUNTIME_CLASS(CModuleConnectView)))
      break;
    }
    if(!pView->IsKindOf(RUNTIME_CLASS(CModuleConnectView)))
    {
     AfxMessageBox("Can't Locate the View.");
     return NULL;
    }
     CTestBView *pBView = (CTestBView *)pView;
     pBView->OnFileNew();