1. 程式人生 > >對話方塊中獲得文件指標pDoc ( 轉)

對話方塊中獲得文件指標pDoc ( 轉)

For   a   single   document   interface   (SDI)   application,   add   the   following   code   to   your   SDI   document's   implementation   file   for   CMyDoc::GetDoc():    
   
        //   SDI   document   implementation   file  
        CMyDoc   *   CMyDoc::GetDoc()  
        {  
              CFrameWnd   *   pFrame   =   (CFrameWnd   *)(AfxGetApp()->m_pMainWnd);  
              return   (CMyDoc   *)   pFrame->GetActiveDocument();

 
        }  
   
   
  For   a   multiple   document   interface   (MDI)   application,   the   CMyDoc::GetDoc()   code   should   be   the   following:    
   
        CMyDoc   *   CMyDoc::GetDoc()  
        {  
              CMDIChildWnd   *   pChild   =  
                      ((CMDIFrameWnd*)(AfxGetApp()->m_pMainWnd))->MDIGetActive();  
   
              if   (   !pChild   )  
                      return   NULL;  
   
              CDocument   *   pDoc   =   pChild->GetActiveDocument();  
   
              if   (   !pDoc   )  
                    return   NULL;  
   
              //   Fail   if   doc   is   of   wrong   kind  
              if   (   !   pDoc->IsKindOf(   RUNTIME_CLASS(CMyDoc)   )   )  
                    return   NULL;  
   
              return   (CMyDoc   *)   pDoc;
 
        }