Share via


MDIDOCVW サンプル : ドキュメント/ビュー アーキテクチャを使用する MDI

更新 : 2007 年 11 月

MDIDOCVW サンプルでは、MFC のマルチ ドキュメント インターフェイス (MDI: Multiple-Document Interface) サポートと、ドキュメント/ビュー アーキテクチャを使用しています。このサンプルには 2 種類のドキュメントが含まれています。Hello (ビューに文字列を表示する) と Bounce (ビューにはずむカラー ボールを表示する) です。また、MDIDOCVW では、Microsoft Windows タイマ、CColorDialogCBitmap、およびウィンドウの既定のカーソルの変更についても示します。

MDIDOCVW サンプルには、2 種類の MDI 子ウィンドウを持つ親ウィンドウがあります。子ウィンドウのうち、[Bounce] ウィンドウははずむボールを表示し、[Hello] ウィンドウは、"Hello, World!" というテキストを表示します。

ドキュメント/ビュー アーキテクチャを含まない MDI サポートを使用するサンプルについては、「MDI サンプル : ドキュメント/ビュー アーキテクチャを使用しない MDI」を参照してください。

cstcs513.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 の場合、すべてのサンプルはオンライン上にあります。

サンプルのビルドと実行

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

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

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

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

[File] メニューの [New Bounce] または [New Hello] をクリックして、新しい MDI 子ウィンドウを作成します。どちらの MDI 子ウィンドウも、ウィンドウがアクティブなときに表示するメニューを決定できます。両方のウィンドウに [Color] メニューがあります。このメニューで色を選択すると、はずむボールや Hello テキストの色が更新されます。[Custom] をクリックすると、[Color] ダイアログ ボックスが表示されます。このダイアログ ボックスでは、作成した色を選択できます。

[Bounce] ウィンドウには [Speed] メニューもあります。ここでは、ボールが画面上で動く速度を指定できます。

ツール バーにはほとんどのメニュー コマンドが実装されています。さらに、5 つの基本色のチェック ボックス ボタンも実装されています。

既定のカーソルの変更

CBounceViewCHelloViewCreate をオーバーライドしますが、フレームワークの MDI サポートを利用するためにオーバーライドする必要はありません。CBounceView クラスに含まれる Create のオーバーライドでは、既定のカーソルの変更方法を示しています。ウィンドウの既定のカーソルを変更するには、AfxRegisterWndClass を呼び出して新しい WNDCLASS を登録し、Create の呼び出し時に 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

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

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

参照

その他の技術情報

MFC サンプル