본문 바로가기
Programming/MFC,C++

[펌]SetDlgCtrlID

by 기적 2013. 10. 24.

당연히 생략해도 뷰는 전환이 잘될꼽니당... 해당 문장은 뷰의 전환과는 직접적으로
연관되는 부분이 아니니까엽.... 하지만여... 가만히 생각해 보자구여...
예를들어 2개의 뷰가 있는 푸로구람이 이따구 하자구엽... 
막무가내루 첫번째뷰와 두번째 뷰를 뛰워버렸습니당. 
자! 이제 첫번째 뷰에 머찐 구림을 구려볼까엽? 구림을 첫번째 뷰에 그리려면
어떻게 해야 하겠습니까? 물론 첫번째 뷰의 포인터를 먼저 얻어야 하는게 순서겠져?
구래야 해당 뷰에 작업을 할 수 있을테니까엽... 구래서 첫번째 뷰의 포인터를 
얻었습니다... GetDlgItem....어쩌구 저쩌구로욥... 
자 모찌게 그림을 그렸네엽... 구러면 이제 두번때 뷰에 새로운 구림을 구려볼까엽?
우선 뷰를 스위치 하구 그 담엔 뭘 해야 할까엽? 두번째 뷰에 이뿐구림을 구리기 위해
먼저 두번째 뷰의 포인터를 얻어내야게쪄???  뷰의 포인터를... 히히 이제 아시겠져?
질문하신 그 문장은 활성화된 뷰 윈도우의 포인터를 얻어내어 pActiveView가 해당
뷰 윈도우를 가리키게 하는 부분입니다... 그래야 새로 활성화된 윈도우에서 새로운
작업을 할 수가 있을테니까엽...  구러니까 주석을 달면...

void CMainFrame::SwitchView(int iView)
{
//현재 사용하고있는 뷰의 아이디값(뷰를대표하는값)을 얻어낸당.
int iID = pActiveView->GetDlgCtrlID();        

//새로이 활성화될 뷰를 첫번째 뷰로 바꾼다.
pActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);

//이전 뷰의 포인터를 템포로리(pInactiveView(비활성뷰))에 저장한다.
pInactiveView->SetDlgCtrlID(iID);
}

아마 위의 문장은 첫번째 뷰가 아닌 다른 뷰가 활성화 되어있을때 첫번째 뷰로
활성화를 시키는 부분인가 봅니당... 맞나?

그럼 이로케 간단히 설명을 마치겠습니당...
구럼 이만 열심히...

댓글