2012년 3월 29일 목요일

MainFrame, Doc, View의 포인터 얻는방법



[기본]

1. MainfFrmae 포인터
CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();

2. DOC 클래스 포인터
CtestDoc * pDoc = (CtestDoc*)(pFrame-<GetActivedocument());

3. view 클래스 포인터
CtestView * pView = (CtestView*)((CMainFrame*)(AfxGetApp()->m_pMainWnd))->GetActiveView();

[SDI]


1. MainfFrmae 포인터
CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();

2. App 포인터
CtestApp * pApp = (CtestApp *) afxGetApp();

2. DOC 클래스 포인터
1) CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
   CtestDoc * pDoc = (CtestDoc*)pFrame->GetActivedocument();
2) CtestDoc * pDoc = (CMainFrame *);AfxGetMainWnd())->GetActiveDocument();

 3. view 클래스 포인터
1) CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
    CtestView * pView = (CtestView*)pFrame->GetActiveView();
2) CtestView * pView = ((CMainFrame*)AfxGetMainWnd())->GetActiveView();

[MDI]

1.ChildFrame 포인터
1) CMainFrame *pFrame = (CMainFrame *)AgxGetMainWnd();
    CChildFrame *pChild = (CChildFrame *)pFrame->GetActiveFrame();
2) CChildFrame *pChild = ((CMainFrame *)AgxGetMainWnd())->GetActiveFrame();

2. DOC 클래스 포인터
1) CMainFrame *pFrame = (CMainFrame)AfxGetMainWnd();
    CChildFrame *pChild = (CChildFrame *)pFrame ->GetActiveFrame();
    CtestDoc *pDoc = (CtestDoc *)pChild->GetActiveDocument();
2) CtestDoc *pDoc = (((CMainFrame *)AfxGetMainWnd())->GetActiveFrame())->GetActiveDocument();

3. view 클래스 포인터
1) CMainFrame *pFrame = (CMainFrame)AfxGetMainWnd();
    CChildFrame *pChile = (CChildFrame *)pFrame->GetActiveFrame();
    CtestView *pView = (CtestDoc *)pChild->GetActiveVeiw();
2) CtestView *pVew = (CtestVeiw*)(((CMainFrame *)AfxGetMainWnd())->GetActiveFrame())->GetActiveView();


댓글 없음:

댓글 쓰기