次の方法で共有


PROPDLG サンプル : プロパティ シート サポート

更新 : 2007 年 11 月

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

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

et63ay6a.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。

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

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

    詳細については、「サンプル ファイルの格納場所」を参照してください。

  • 使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。

  • サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。

サンプルのビルドと実行

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

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

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

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

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

  • [Simple Property Sheet]
    [Style] と [Shape] のタブがあるポップ アップ ダイアログ ボックスです。[OK] をクリックすると、現在選択されているオブジェクトにプロパティが適用され、ダイアログ ボックスが閉じます。[キャンセル] をクリックすると、プロパティが適用されずにダイアログ ボックスが閉じます。この例では、[適用] と [Help] は常に無効です。

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

  • [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

et63ay6a.alert_note(ja-jp,VS.90).gifメモ :

このサンプルを含む一部のサンプルには、Visual C++ のウィザード、ライブラリ、およびコンパイラの変更が反映されていませんが、必要なタスクを実行する方法は示されています。

参照

その他の技術情報

MFC サンプル