뷰 클래스 변수 제어
페이지 정보
본문
도큐먼트 클래스에서 뷰 클래스의 변수에 값을 바꿔주려고 합니다. 어떻게 해야 하나요.
뷰(View)는 도큐먼트(Doc)의 포인터를 가지고 있어 GetDocument로 도큐먼트의 인자들을 사용할 수 있지만 도큐먼트에서 뷰를 사용하려면 우선 SDI인 경우에는 메인 프레임의 포인터를 얻고 거기서 뷰 클래스의 포인터를 얻어야 합니다.
CView *pView;
pView = (CView*)((CMainFrame*)(AfxGetApp()->m_pMainWnd))->GetActiveView();
MDI인 경우에는
CMDIFrameWnd *pFrame =
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
CMDIChildWnd *pChild =
(CMDIChildWnd*)pFrame->GetActiveFrame();
CView *pView = (CView*)pChild->GetActiveView();
위와 같은 방식으로 얻어오면 됩니다. 그러면 서로 참조가 가능합니다.
뷰(View)는 도큐먼트(Doc)의 포인터를 가지고 있어 GetDocument로 도큐먼트의 인자들을 사용할 수 있지만 도큐먼트에서 뷰를 사용하려면 우선 SDI인 경우에는 메인 프레임의 포인터를 얻고 거기서 뷰 클래스의 포인터를 얻어야 합니다.
CView *pView;
pView = (CView*)((CMainFrame*)(AfxGetApp()->m_pMainWnd))->GetActiveView();
MDI인 경우에는
CMDIFrameWnd *pFrame =
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
CMDIChildWnd *pChild =
(CMDIChildWnd*)pFrame->GetActiveFrame();
CView *pView = (CView*)pChild->GetActiveView();
위와 같은 방식으로 얻어오면 됩니다. 그러면 서로 참조가 가능합니다.
댓글목록
등록된 댓글이 없습니다.