다음을 통해 공유


MDIDOCVW 샘플: 문서/뷰 아키텍처를 사용하는 MDI 설명

업데이트: 2007년 11월

MDIDOCVW 샘플에서는 MFC의 MDI(다중 문서 인터페이스) 지원과 문서/뷰 아키텍처를 사용합니다. 이 샘플에는 뷰에 문자열을 출력하는 Hello와, 색이 있는 볼이 튀어 다니는 모습을 뷰에 표시하는 Bounce라는 두 가지 문서 형식이 포함되어 있습니다. MDIDOCVW에서는 Microsoft Windows 타이머, CColorDialogCBitmap과, 창의 기본 커서 변경 방법을 보여 줍니다.

MDIDOCVW 샘플에서는 두 가지 서로 다른 형식의 MDI 자식 창이 있는 부모 창을 표시합니다. 이 MDI 자식 창 중 하나는 볼이 이리저리로 튀어 다니는 Bounce 창이고 다른 하나는 단지 "Hello, World!"라는 텍스트를 표시하는 Hello 창입니다.

문서/뷰 아키텍처를 사용하지 않고 MDI 지원을 사용하는 샘플에 대한 자세한 내용은 MDI를 참조하십시오.

보안 정보:

이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다.

샘플 및 이를 설치하기 위한 지침을 가져오려면

  • Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.

    자세한 내용은 샘플 파일 찾기를 참조하십시오.

  • 최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.

  • 컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.

샘플 빌드 및 실행

MDIDOCVW 샘플을 빌드하고 실행하려면

  1. 솔루션 파일인 mdi.sln을 엽니다.

  2. 빌드 메뉴에서 빌드를 클릭합니다.

  3. 디버그 메뉴에서 디버깅하지 않고 시작을 클릭합니다.

새 MDI 자식 창을 만들려면 File 메뉴에서 New Bounce 또는 New Hello를 클릭합니다. 두 MDI 자식 창 형식 모두 해당 창이 활성화될 때 표시되는 메뉴를 결정합니다. 또한 두 창 형식 모두에 Color 메뉴가 있습니다. 이 메뉴에서 색을 선택하면 튀어 다니는 볼이나 Hello 텍스트의 색이 업데이트됩니다. 사용자 지정 색을 선택할 수 있는 Color 대화 상자를 호출하려면 Custom을 클릭합니다.

Bounce 창에는 화면에서 볼이 이동하는 속도를 선택할 수 있는 Speed 메뉴도 있습니다.

도구 모음에서는 대부분의 메뉴 명령을 구현합니다. 또한 도구 모음에서는 다섯 개의 기본 색에 대한 확인란 단추도 구현합니다.

기본 커서 변경

CBounceViewCHelloView는 모두 Create를 재정의하지만 프레임워크의 MDI 지원을 사용하는 데 이 재정의가 꼭 필요한 것은 아닙니다. 그러나 CBounceView 클래스에서 볼 수 있는 Create의 재정의를 통해 기본 커서를 변경하는 방법을 이해할 수 있습니다. 창의 기본 커서를 변경하려면 AfxRegisterWndClass를 호출한 다음 Create를 호출할 때 WNDCLASS의 이름을 전달하여 새 WNDCLASS를 등록해야 합니다.

키워드

이 샘플에서는 다음의 키워드를 보여 줍니다.

AfxRegisterWndClass, CBitmap::CreateCompatibleBitmap, CCmdUI::SetCheck, CColorDialog::DoModal, CColorDialog::GetColor, CDC::BitBlt, CDC::CreateCompatibleDC, CDC::DeleteDC, CDC::DrawText, CDC::Ellipse, CDC::FillRect, CDC::GetDeviceCaps, CDC::SelectObject, CDC::SetBkColor, CDC::SetTextColor, CFrameWnd::LoadFrame, CFrameWnd::rectDefault, CGdiObject::DeleteObject, CMDIChildWnd::Create, CWinApp::InitInstance, CWnd::DestroyWindow, CWnd::GetClientRect, CWnd::GetCurrentMessage, CWnd::GetDC, CWnd::KillTimer, CWnd::MessageBox, CWnd::OnCreate, CWnd::OnSize, CWnd::OnTimer, CWnd::ReleaseDC, CWnd::SetTimer, CWnd::ShowWindow, CWnd::UpdateWindow, GetSysColor, LOWORD, RGB, max, min

참고:

이 샘플을 비롯한 일부 샘플은 Visual C++ 마법사, 라이브러리 및 컴파일러의 변경 내용을 반영하도록 수정되지 않았지만 해당 작업의 수행 방법을 보여 줍니다.

참고 항목

기타 리소스

MFC 샘플