Opengl을 이용한 MDI Application에서 Current View가 보존되지 않으면 ChildWnd의 다른 View에 업데이트 될수 있다.
OnActivateView를 이용해 Current를 자신의 dc로 유지한다.
void CModelViewerView:: OnActivateView( BOOL bActivate, CView* pActivateView, CView* pDeactiveView )
{
CView::OnActivateView(bActivate, pActivateView, pDeactiveView);
if(bActivate == TRUE){
wglMakeCurrent(m_pDC->GetSafeHdc(), m_hRC);
}
}
gl명령어를 쓰기 위한 조건에서
HDC hdc = wglGetCurrentDC();
HGLRC hrc = wglGetCurrentContext();
wglMakeCurrent(m_pDC->GetSafeHdc(), m_hRC);
// here gl command
wglMakeCurrent(hdc,hrc);
와 같이 current dc를 보존한다.