[팁] 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 매크로를 사용해주면 됩니 다. 쉽죠? 혹시 다들 아시는거였나요? 제가 며칠전에 알게 되서 다른 분들도 모 르셨을까봐 적어봤습니다. ^^;; |
'개발지식창고 > MFC' 카테고리의 다른 글
현재모듈 실행 경로 얻어오기 (0) | 2010.07.28 |
---|---|
윈도우 최상위 윈도우로 끌어 올리기 (0) | 2010.07.28 |
HTML 문자열(ANSI,UTF-8 등) 인코딩 체크함수 (0) | 2010.07.28 |
[문자열처리] CString -> char* , char* -> CString 변환 (0) | 2010.07.28 |
CView -> CScrollView로 전환 (0) | 2010.07.27 |