MFC 클래스간 통신

 

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();

http://serapian.pe.kr/trackback/79 관련글 쓰기