티스토리 뷰

C,C++

MFC 클래스간 참조 방법

Andrew Shin 2015. 5. 9. 11:33

MFC에서 가장 중요한점은 각 클래스간의 참조 방법을 알고 사용하는것이다.

-------------------------------------------------------------------
1. 각각의 헤더파일 포함.

#include
 "MainFrm.h"      // 메인프레임
#include "ClassDoc.h"    // Doc 클래스, 반드시 View클래스 헤더파일보다 위에 존재해야 함.
#include "ClassView.h"  // View 클래스
#include "Class.h"        // App 클래스
--------------------------------------------------------------------
2. View 클래스에서 각 클래스 참조.

// View → App
CClassApp *pApp = (CClassApp *)AfxGetApp();
// View → MainFrm
CMainFrame *pMain=(CMainFrame *)AfxGetMainWnd();
// View → MainFrm → Doc
CClassDoc *pDoc=(CClassDoc *)pMain->GetActiveDocument();
// View → Doc
CClassDoc *pDoc=( CClassDoc *)GetDocument();

--------------------------------------------------------------------
3. 메인프레임에서 각 클래스 참조.

// MainFrm → View
CClassView *pView=( CClassView *)GetActiveView();
// MainFrm → Doc
CClassDoc *pDoc=( CClassDoc *)GetActiveDocument();
// MainFrm → App
CClassApp *pApp=( CClassApp *)AfxGetApp();

--------------------------------------------------------------------

 4. Doc 클래스에서 각 클래스 참조. 
// Doc → App
CClassApp *pApp=( CClassApp *)AfxGetApp();
// Doc → MainFrm
CMainFrame *pMain=( CMainFrame *)AfxGetMainWnd();
// Doc → MainFrm → View
CClassView *pView=( CClassView *)pMain->GetActiveView();
// Doc → View
CClassView *pView=( CClassView *)m_viewList.GetHead();
--------------------------------------------------------------------
5. App 클래스에서 각 클래스 참조.

// App → MainFrm
CMainFrame *pMain=( CMainFrame *)AfxGetMainWnd();
// App → MainFrm → View
CClassView *pView=( CClassView *)pMain->GetActiveView();
// App → MainFrm → Doc
CClassDoc *pDoc=( CClassDoc *)pMain->GetActiveDocument();

--------------------------------------------------------------------

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함