View(뷰) 간의 활성화 뷰 변경 - CFrameWnd::SetActiveView()


 아마도 분할 윈도우로 나누었을 경우 특정 순간에 현재 뷰에서 다른 뷰를 활성화(포커스) 해주어야 할 경우가 있다.
예로 트리뷰에서 Tab 키 를 입력 받으면 리스트 뷰로 포커스를 이동해야 하는 경우가 있을 것이다.

이때는 CFrameWnd:;SetActiveView() 함수를 이용하면 된다.
CMainFrame 클래스가 CFrameWnd 의 파생 클래스니까 CMainFrame 에서 호출하면 된다.


// 분할 윈도우에서 활성하 시키고자 하는 뷰의 포인터를 얻는다.
CWnd *pWnd = m_wndSplitter2.GetPane(0, 0);
ChRmtEvwrView *pView = DYNAMIC_DOWNCAST(ChRmtEvwrView, pWnd);

// 지정한 뷰를 활성화 시킨다.
SetActiveView(pView);



cf ) CFrameWnd::SetActiveView()
Posted by six605
,