아래꺼 해봤는데 실제로 잘 된다.
출처 : http://ninvu.egloos.com/2761264/
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/
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할때 문제가 생길 수 있다.
'프로그래밍 > VC++' 카테고리의 다른 글
이미지프로세싱 관련 라이브러리들 (0) | 2007.04.23 |
---|---|
스크롤 뷰에 이미지파일을 올리고 스크롤 하는 예제 (0) | 2007.04.21 |
ATL로 이벤트발생시키고 MFC에서 받기 (0) | 2007.04.11 |
MFC OCX에 strmbasd.lib를 넣으면 error LNK2001: "class CFactoryTemplate * g_Templates 에러나는 경우 해결 (0) | 2007.03.27 |
인터넷의 파일 하나를 열고 한줄씩 읽어오기. (0) | 2007.03.25 |