SCRIBBLE 샘플: MFC MDI 그리기 응용 프로그램

업데이트: 2007년 11월

SCRIBBLE 은 마우스를 사용하여 자유롭게 그림을 그릴 수 있으며 그린 이미지를 파일에 저장할 수 있는 작은 그리기 응용 프로그램입니다. 이 샘플에서는 다음과 같은 다양한 범위의 MFC 기능을 간단히 보여 줍니다.

  • 응용 프로그램 개체

  • 문서, 뷰 및 문서 템플릿

  • 명령, 메시지 맵 및 명령 사용자 인터페이스 업데이트

  • MDI(다중 문서 인터페이스) 프레임 및 자식 창

  • 도구 모음 및 상태 표시줄

  • 문서에서 뷰로 힌트 업데이트

  • 대화 상자, 데이터 교환 및 유효성 검사

  • 스크롤 뷰

  • 분할 창

  • 인쇄 및 인쇄 미리 보기

이러한 기능의 고급 사용 방법에 대한 예제는 다른 MFC 샘플을 참조하십시오.

SCRIBBLE에는 비주얼 편집 서버 기능도 포함되어 있습니다.

보안 정보:

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

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

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

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

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

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

샘플 빌드 및 실행

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

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

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

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

다른 Scribble 버전

CLR을 대상으로 하는 버전의 Scribble도 사용할 수 있습니다.

키워드

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

AfxMessageBox, AfxOleInit, CArchive::IsStoring, CCmdUI::Enable, CCmdUI::SetCheck, CControlBar::EnableDocking, CControlBar::GetBarStyle, CControlBar::SetBarStyle, CDC::DPtoLP, CDC::GetDeviceCaps, CDC::GetTextMetrics, CDC::LPtoDP, CDC::LPtoHIMETRIC, CDC::LineTo, CDC::MoveTo, CDC::SelectObject, CDC::SetMapMode, CDC::SetTextAlign, CDC::SetViewportExt, CDC::SetWindowExt, CDC::SetWindowOrg, CDC::TextOut, CDialog::DoModal, CDocTemplate::SetServerInfo, CDocument::DeleteContents, CDocument::GetFirstViewPosition, CDocument::GetNextView, CDocument::OnNewDocument, CDocument::OnOpenDocument, CDocument::SetModifiedFlag, CDocument::UpdateAllViews, CFont::CreateFontIndirect, CFrameWnd::Create, CFrameWnd::DockControlBar, CFrameWnd::EnableDocking, CFrameWnd::LoadFrame, CFrameWnd::OnCreateClient, CObList::GetHeadPosition, CObList::GetNext, CObject::AssertValid, CObject::Dump, CObject::IsKindOf, CObject::Serialize, COleDocument::EnableCompoundFile, COleIPFrameWnd::OnCreateControlBars, COleServerDoc::GetEmbeddedItem, COleServerDoc::GetZoomFactor, COleServerDoc::NotifyChanged, COleServerDoc::OnGetEmbeddedItem, COleServerDoc::OnSetItemRects, COleServerItem::CopyToClipboard, COleServerItem::GetDocument, COleServerItem::IsLinkedItem, COleServerItem::OnDraw, COleServerItem::OnGetExtent, COleTemplateServer::ConnectTemplate, COleTemplateServer::UpdateRegistry, CPen::CreatePen, CRect::InflateRect, CRect::IntersectRect, CRect::SetRectEmpty, CScrollView::SetScrollSizes, CSplitterWnd::Create, CStatusBar::Create, CStatusBar::SetIndicators, CToolBar::Create, CView::DoPreparePrinting, CView::GetDocument, CView::OnBeginPrinting, CView::OnDraw, CView::OnEndPrinting, CView::OnInitialUpdate, CView::OnPrepareDC, CView::OnPreparePrinting, CView::OnPrint, CView::OnUpdate, CWinApp::AddDocTemplate, CWinApp::InitInstance, CWinApp::LoadStdProfileSettings, CWnd::DoDataExchange, CWnd::GetCapture, CWnd::Invalidate, CWnd::InvalidateRect, CWnd::OnCreate, CWnd::OnLButtonDown, CWnd::OnLButtonUp, CWnd::OnMouseMove, CWnd::OnSize, CWnd::PreCreateWindow, CWnd::SetCapture, CWnd::SetOwner, CWnd::ShowWindow, CWnd::UpdateWindow, CreatePen, DeleteObject, DragAcceptFiles, GetClipBox, LPtoDP, RGB, ReleaseCapture, SetRectEmpty, max, memset, min

참고:

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

참고 항목

기타 리소스

MFC 샘플