레이블이 MainFrame인 게시물을 표시합니다. 모든 게시물 표시
레이블이 MainFrame인 게시물을 표시합니다. 모든 게시물 표시

2010년 4월 27일 화요일

AfxGetApp()

MFC Programming을 하다 보면 Dialog나 임의의 클래스 에서 Main Frame 이나 View Class의 Method를 사용하여야 할 경우가 있다. 이러한 경우 AfxGetApp() 라는 API가 유용하게 쓰인다.

 

즉, (CMainFrame *)AfxGetApp()->m_pMainWnd) 를 하게 되면 임의의 클래스 에서 Main Frame의 Member 및 Method의 접근을 할 수 있다.

 

또한 Main Frame에서 View나 Document를 접근하는 경우에는 아래와 같이 쉽게 할 수 있다.

 

CMainFrame *pFrame;

pFrame = AfxGetApp()->m_pMainWnd;

CSDIView *pView;

pView = pFrame->GetActiveView;

 

CSDIDoc *pDoc;

pDoc = pView->GetDocument();

 

이처럼 MFC를 사용하여 동등 Level의 클래스에 접근하는 방법은 우선 Application의 Class에 접근한 후 Application의 Main Frame, View로 접근 하면 된다.