[팁] CSplitterWnd에 아무 윈도우나 넣자 2000-04-29 오전 2:12:47
전상연 번호: 7393  / 읽음:766
안녕하세요. 클럽 개설을 축하드립니다.

화면을 분할하고 싶을 때 MFC라면 당연히 CSplitterWnd를 사용하겠죠?
그런데 CSplitterWnd는 안에 들어가는 윈도우를 만들기 위해서 
CSplitterWnd::CreateView 함수를 호출합니다.

전 이름 때문에 이 함수가 CView를 계승한 클래스에 대해서만 동작하
는 줄 알았었는데 (MFC에서 자동으로 만들어주는 코드도 뷰에 대해서
만 나오기도 하죠) 사실은 CWnd를 계승한 클래스면 모두 동작한답니
다. -_-;

단 조건이 있는데 만들 클래스가 MFC의 동적생성 메카니즘을 지원해
야 한다는거죠. 즉, CRuntimeClass::CreateObject를 사용할 수 있어
야 합니다. 이를 위해서는 class 내부에서는 DECLARE_DYNCREATE나 
DECLARE_SERIAL 매크로를 사용하고, 소스파일에서 
IMPLEMENT_DYNCREATE나 IMPLEMENT_SERIAL 매크로를 사용해주면 됩니
다.

쉽죠?
혹시 다들 아시는거였나요? 제가 며칠전에 알게 되서 다른 분들도 모
르셨을까봐 적어봤습니다. ^^;;
Posted by 모과이IT
,