PROPDLG サンプル:プロパティ シートのサポートを示します

PROPDLG サンプルでは、プロパティ シートまたはタブ付きダイアログ ボックスの MFC サポートを示します。 また、モードレス ミニフレーム ウィンドウについても示します。

PROPDLG は、単純なオブジェクト描画プログラムです。このプログラムは、プロパティ シートを使用して、現在選択されているオブジェクトの図形や色の属性を入力します。 さらに多くの機能を持つオブジェクト描画プログラムの例については、「DRAWCLI」を参照してください。

セキュリティに関するメモセキュリティに関するメモ

このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。

サンプルとそのインストール手順を取得するには

Visual Studio のサンプルにアクセスするには

  • [ヘルプ] メニューの [サンプル] をクリックします。

    既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。

  • このサンプルの最新版および他のサンプルの一覧については、MSDN Web サイト上で Visual Studio サンプル 」を参照してください。

サンプルのビルドと実行

PROPDLG サンプルをビルドおよび実行するには

  1. ソリューション propdlg.sln を開きます。

  2. [ビルド] メニューの [ビルド] をクリックします。

  3. でデバッグ メニューの、[デバッグなしで開始 をクリックします。

サンプルを実行するとき、ビュー内のどこかの場所をクリックすると、新しい図形が追加されます。最初は固定サイズの四角形です。 別の場所をクリックすると、さらに図形が追加されます。 図形を選択するには、その図形をクリックします。 [Object] メニューには、現在選択されているオブジェクトの属性を更新するための 3 種類のプロパティ シートがあります。Object 通常、実際のアプリケーションには、これらのプロパティ シートのうち 1 種類だけが用意されています。

  • Simple Property Sheet
    スタイルの と図形の タブ付きのポップアップ ダイアログ ボックスです。 [OK] をクリックすると、現在選択されているオブジェクトにプロパティが適用され、ダイアログ ボックスが閉じます。 プロパティを適用せずにダイアログ ボックスを終了するのには [キャンセル をクリックします。 適用 ヘルプ ボタンとボタンは常にこれらの図を無効になります。

  • Property Sheet with Preview
    上と同じ、2 つのタブ付きのポップ アップ ダイアログ ボックスです。 このダイアログ ボックスにはプレビュー用の子ウィンドウもあります。 プレビュー ウィンドウでは、プロパティ シートの現在の値が適用された場合のオブジェクトの表示形式を確認できます。 このサンプルには、プロパティ シートのレイアウトをカスタマイズする方法が示されます。 この例では [適用] ボタンも実装されます。このボタンは、プロパティを変更するたびに有効になります。

  • Miniframe Property Sheet
    ミニフレーム ウィンドウ内のモードレス プロパティ シート ダイアログ ボックスです。 このモードレス ダイアログ ボックスのプロパティは、現在選択されているオブジェクトに常に反映されます。 プロパティ シートの値を変更すると、現在選択されているオブジェクトにすぐに適用されます。

Keywords

このサンプルでは、次のキーワードを使用します。

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 サンプル