//-----------获取View类指针-------多文档方式--------------------------------------------
  CMDIFrameWnd *pFrame =  
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;CMDIChildWnd *pChild =  
(CMDIChildWnd *) pFrame->GetActiveFrame();CView *pView = (CView *) pChild->GetActiveView();
if(pView!=NULL)
pView->SendMessage(WM_COMM_RXCHAR,(WPARAM) buf,(LPARAM) len);//向view类发送消息
调试发现pView指针为0,貌似pChild也没有得到(虽然不是0);把上面一段程序移到此类中任意其他函数中,都可以正常发送消息,为什么线程调用的函数就不可以呢?

解决方案 »

  1.   

    可以通过文档枚举视
      CWinApp *pApp = AfxGetApp();
      POSITION PosDocTemplate = pApp->GetFirstDocTemplatePosition();
      while(PosDocTemplate)
      {
        CDocTemplate* pDocTemplate = pApp->GetNextDocTemplate( PosDocTemplate );    POSITION PosDoc = pDocTemplate->GetFirstDocPosition();
        while(PosDoc)
        {
          CDocument* pDoc = pDocTemplate->GetNextDoc( PosDoc );      POSITION PosView = pDoc->GetFirstViewPosition();
          while(PosView)
          {
            CView* pView = pDoc->GetNextView( PosView );      }
        }
      }