다이얼로그에 뷰 올리기
2007/12/09 14:32
MFC에서 Application을 개발할 때, 간편함의 이유로 MDI나 SDI보다는 Dialog based로 개발하는 경우가 많다. 하지만 다이얼로그 위에 뷰를 올릴 수가 없기 때문에 프로그램 개발에 많은 제약을 안을 수 밖에 없다. 이 문제를 다음과 같은 방법을 통해 다이얼로그에 뷰를 올릴 수 있도록 함으로써 보다 많은 융통성을 얻을 수 있다.
1. 다이얼로그 클래스에서
A. 멤버 변수를 추가해준다. 사용할 뷰의 이름이 CContentsView라고 할 때:
CCreateContext m_context; CContentsView *m_pView; |
B. OnInitDialog() 함수에서 뷰의 초기화를 수행한다.
RECT r = {5, 30, 194, 136}; m_context.m_pNewViewClass = RUNTIME_CLASS(CContentsView); m_pView = (CContentsView*)((CFrameWnd*)this)->CreateView(&m_context); ASSERT(m_pView); m_pView->OnInitialUpdate(); m_pView->ShowWindow(SW_NORMAL); m_pView->MoveWindow(&r); |
2. 뷰 클래스에 다음 구문을 추가해준다.
friend class CBaseDialog; |
음.. 이거면 됐어ㅋㅋ
'MFC' 카테고리의 다른 글
msdn - 확장 dll 설명 (1) | 2008.09.06 |
---|---|
protected 속성으로 런타임클래스를 사용해라?....고찰 (1) | 2008.09.05 |
MDI 구조 스파이플러스로 살펴보기 - 분석 (1) | 2008.09.04 |
한 프레임에 뷰 분할 - 스플릿윈도우 클래스 미사용 (2) | 2008.09.04 |
SDI 단일 문서에 다중 뷰 추가 - MSDN 표준방식 (0) | 2008.09.04 |
Multi_View 사용하는 방법 - 소스 참조 (1) | 2008.09.04 |
스플릿트 윈도우 외국 소스 - 참조 (0) | 2008.09.04 |