다음을 통해 공유


PROPDLG 샘플: 속성 시트 지원 설명

업데이트: 2007년 11월

PROPDLG 샘플에서는 속성 시트 또는 탭 대화 상자에 대한 MFC 지원을 보여 줍니다. PROPDLG에서는 모덜리스 미니프레임 창도 보여 줍니다.

PROPDLG는 속성 시트를 사용하여 현재 선택한 개체의 모양 및 색 특성을 입력하는 간단한 개체 그리기 프로그램입니다. 보다 완전한 기능의 개체 그리기 프로그램의 예제는 DRAWCLI 샘플을 참조하십시오.

보안 정보:

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

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

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

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

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

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

샘플 빌드 및 실행

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

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

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

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

샘플이 실행되면 뷰의 아무 위치나 클릭하여 새 모양을 추가합니다. 추가하는 새 모양은 처음에는 고정 크기의 사각형입니다. 모양을 더 추가하려면 다른 곳을 클릭합니다. 모양을 선택하려면 해당 모양을 클릭합니다. Object 메뉴에는 현재 선택한 개체의 특성을 업데이트하는 데 사용할 수 있는 세 가지 종류의 속성 시트가 표시됩니다. 실제 응용 프로그램에서는 대개 이러한 종류의 속성 시트 중 하나만 사용할 수 있습니다.

  • Simple Property Sheet
    StyleShape 탭이 있는 팝업 대화 상자입니다. 현재 선택한 개체에 속성을 적용하고 대화 상자를 끝내려면 OK를 클릭합니다. 속성을 적용하지 않고 대화 상자를 끝내려면 Cancel을 클릭합니다. 이 예제에서 Apply Now 및 Help 단추는 항상 비활성화되어 있습니다.

  • Property Sheet with Preview
    역시 두 개의 탭이 있는 팝업 대화 상자입니다. 이 대화 상자에는 미리 보기 자식 창도 있습니다. 미리 보기 창에서는 속성 시트의 현재 값이 적용될 경우의 개체 모양을 보여 줍니다. 이를 통해 속성 시트의 레이아웃을 사용자 지정하는 방법을 이해할 수 있습니다. 이 예제에서는 속성을 변경할 때마다 활성화되는 Apply Now 단추도 구현합니다.

  • Miniframe Property Sheet
    미니프레임 창 내의 모덜리스 속성 시트 대화 상자입니다. 이 모덜리스 대화 상자의 속성은 항상 현재 선택한 개체를 반영합니다. 속성 시트에서 변경한 값은 현재 선택한 개체에 즉시 적용됩니다.

키워드

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

AfxGetMainWnd, CCmdUI::Enable, CDC::GetClipBox, CDialog::DoModal, CDocument::OnNewDocument, CDocument::SetModifiedFlag, CDocument::UpdateAllViews, CFrameWnd::Create, CFrameWnd::GetActiveFrame, CFrameWnd::GetActiveView, CFrameWnd::LoadFrame, CMDIFrameWnd::MDIGetActive, CObject::AssertValid, CObject::Dump, CObject::Serialize, CPen::CreatePen, CRect::Height, CRect::IntersectRect, CRect::IsRectNull, CRect::PtInRect, CRect::Width, CStatusBar::Create, CStatusBar::SetIndicators, CString::LoadString, CToolBar::Create, CToolBar::LoadBitmap, CToolBar::SetButtons, CView::DoPreparePrinting, CView::GetDocument, CView::OnBeginPrinting, CView::OnDraw, CView::OnEndPrinting, CView::OnPreparePrinting, CWinApp::AddDocTemplate, CWinApp::EnableShellOpen, CWinApp::InitInstance, CWinApp::LoadStdProfileSettings, CWinApp::RegisterShellFileTypes, CWnd::CenterWindow, CWnd::Create, CWnd::DoDataExchange, CWnd::FromHandle, CWnd::GetClientRect, CWnd::GetParent, CWnd::InvalidateRect, CWnd::IsWindowVisible, CWnd::OnCreate, CWnd::OnEraseBkgnd, CWnd::OnKeyDown, CWnd::OnLButtonDblClk, CWnd::OnLButtonDown, CWnd::OnPaint, CWnd::SendMessage, CWnd::ShowWindow, CWnd::UpdateWindow, DragAcceptFiles, Ellipse, FillRect, GetParent, GetWindowRect, RGB, Rectangle, RoundRect, SelectObject, SendMessage, SetFocus, SetWindowPos, UpdateWindow

참고:

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

참고 항목

기타 리소스

MFC 샘플