MFC 뷰 클래스 질문

MFC 프로젝트 생성 시 기본으로 만들어지는 View 클래스 말고 새로 View 클래스를 만들어서 사용하고 싶습니다.

기존 View 클래스에서는 새로 만든 View 클래스의 함수만 가져와서 쓰고 싶은데요. 문제가 생겼습니다.

예를 들어 새로 만든 View 클래스에 Create라는 함수를 정의하고 이 함수 안에 사각형을 그리는 함수를 집어 넣었습니다.

그 다음 기존 View 클래스에서 호출하면 사각형이 그려지기는 하는데 Create 몇 번 호출하던 사각형이 한 번만 그려지는데

도무지 원인을 모르겠네요. 이게 어떤 문제 때문에 그런 건지 알려주시고 해결 방안도 제시해주시면 감사하겠습니다.

– 기존 View 클래스 –

void CButtonView::OnPaint()
{
    CreateButton* cdc = new CreateButton;
    CreateButton* cdc2 = new CreateButton;

    cdc->SetClass(this);
    cdc2->SetClass(this);
    cdc->Create(m_BtnRect);
    cdc2->Create(m_BtnRect2);
}

– 새로 만든 View 클래스 –

void CreateButton::Create(CRect rect)
{
    CPaintDC dc(btnView);
    CRect Rect(rect);

    dc.Rectangle(Rect);
    dc.FillSolidRect(rect, ::GetSysColor(COLOR_BTNFACE));
    dc.SetBkColor(::GetSysColor(COLOR_BTNFACE));
}

void CreateButton::SetClass(CButtonView* vClass)
{
    btnView = vClass;
}

참고로 btnView 는 CButtonView* btnView; 이렇게 선언했습니다.

안녕하세요~ ㅎㅎㅎ

코드 잘 보이게 고쳐두었습니다. ㅎㅎㅎ