IT_Programming/MFC · API

각 클래스 포인터 얻어오기

JJun ™ 2007. 9. 24. 16:54

Reference : http://www.lovehana.com/category/Programming/Application?page=5

SDI 형태

1.MainFrame 얻기
CMainFrame *pFrame = (CmainFrame *) AfxGetMainWnd();

2.App 포인터 얻기
CTestApp *pApp = (CtestApp *) AfxGetApp();

3.Document 포인터 얻기
CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
CTestDoc *pDoc = (CTestDoc *)pFrame->GetActiveDocument();

CTestDoc *pDoc = ((CMainFrame *)AfxGetMainWnd())->GetActiveDocument();

4.View 포인터 얻기
CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
CTestView *pView = (CTestView *)pFrame->GetActiveView();

CTestView *pView = ((CMainFrame *)AfxGetMainWnd())->GetActiveView();

 

 



MDI 형태


1.ChildFrame 포인터 얻기
CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
CChildFrame *pChild = (CChildFrame *)pFrame->GetActiveFrame();

CChildFrame*pChild = ((CMainFrame *)AfxGetMainWnd())->GetActiveFrame();

2.Document 포인터 얻기
CMainFrame *pFrame = (CMainFrame)AfxGetMainWnd();
CChildFrame *pChild = (CChildFrame *)pFrame->GetActiveFrame();
CMdiTestDoc *pDoc = (CMdiTestDoc *)pChild->GetActiveDocument();

CMdiTestDoc *pDoc = (((CMainFrame *)AfxGetMainWnd())->GetActiveFrame())->GetActiveDocument();

3.View 포인터 얻기
CCainFrame *pFrame = (CMainFrame)AfxGetMainWnd();
CChildFrame *pChild = (CChildFrame *)pFrame->GetActiveFrame();
CMdiTestView *pView = (CMdiTestDoc *)pChild->GetActiveView();

CMdiTestView *pView = (((CMainFrame *)AfxGetMainWnd())->GetActiveFrame())->GetActiveView();