MFC 에서 뷰, 도큐먼트, 프레임 등 서로 참조할때

From YYpBD's MediaWiki

Jump to: navigation, search

//////////////  모두들 인스턴트 포인터를 반환해줍니다 포인터 변수로 받으셔서 사용하시면 됩니다 /////////////



1. CWinApp 파생클래스의 멤버 변수나 함수를 호출하고자 할때 -> CWinApp* AfxGetApp();



2. 메인 프레임 윈도우 참조 -> CWnd * AfxGetMainWnd();



3. 뷰에서 도큐먼트 참조 -> CDocument * CView::GetDocument() const;



4. 뷰에서 자식 프레임 윈도우 참조 -> CFrameWnd * CWnd::GetParentFrame() const



5. 도큐먼트에서  뷰/프레임 윈도우 참조 -> GetFirstViewPosition() 함수 및 GetNextView()  함수를 조합해서 사용합니다

   Ex)



     void CMyDoc:: OnRepaintAllViews()

      {

           POSITION pos= GetFirstViewPosition();

           while(pos!=NULL)

             {

                CView * pView=GetNextView(pos);

                pView->UpdateWindow();





              }

      }



6. 단일 및 다중 도큐먼트에서 프레임 윈도우를 참조하는법

  단일(SDI)  ->  AfxGetMainWnd();

  다중(MDI)  ->  우선 도큐먼트 뷰를 얻고 그뷰에서 자신을 포함하는 프레임 윈도우를 얻어야 합니다,





7. 프레임 윈도우에서 뷰 참조 -> CView * CFrameWnd::GetActiveView() const



8. 프레임 윈도우에서 도큐먼트 참조 -> virtual CDocument * CFrameWnd::GetActiveDocument();
맞춤검색