'Dialog View'에 해당되는 글 1건

  1. 2007.12.10 Dialog에 View 붙이기 by system

Dialog에 View를 붙이면

Dialog Base프로젝트에 View를 붙여보자

예)
1. Dialog base로 이름이 ViewTest라는 프로젝트를 생성해 보자..
CViewTestApp, CViewTestDlg 라는 클래스가 생긴다..

2. Dialog에 붙일 View를 생성해보자..
CTestView 클래스를 생성하고 CSrollView에서 상속을 받자..
(View는 ScrollView로 테스트 해보자.. 일반뷰도 마찬가지다..)

3. View도 만들어 졌으면..
ViewTestDlg.cpp에 View를 include하고
OnCreate()에 다음과 같이 추가해 보자..

CRuntimeClass  *pObject;
pObject = RUNTIME_CLASS( CTestScrollView );

CTestScrollView* pView = (CTestScrollView*) pObject->CreateObject();

if (!pView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
    CRect(0, 0, 200, 200), this, AFX_IDW_PANE_FIRST, NULL))
{
   TRACE0("Failed to create view window\n");
   return -1;
}


이렇게 하고, 테스트를 해보자..그럼 ScrollView거 Dialog에 붙은것을 볼 수 있을 것이다.
View의 생성이 Protected로 되어 있기 때문에 View를 멤버로 가지고 Create를 통해서 생성을 하면 안된다.. 물론, view의 생성자를 Public으로 고치고 하면 생성이야 되겠지만 Close할때 문제가 생길 수 있다.

출처 : http://ninvu.egloos.com/2761264
Posted by system
l