BirthdayPicker サンプル : Windows フォームでの .NET Framework リソースの使用

更新 : 2007 年 11 月

BirthdayPicker サンプルでは、C++ アプリケーションで .NET Framework リソース機構を使用する方法について説明します。また、一般的な Window フォーム コンポーネントについても例示します。

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

サンプルのビルドと実行

.NET Framework リソースを利用するために、C++ アプリケーションでは .NET Framework ツール WinRes.exe を使用します。このツールは、".resx" ファイル (Win32 C++ アプリケーションの ".rc" ファイルと等価) の作成を専門に行います。Birthdaypicker.resx には、imageList1 リソースと、このリソースが処理するビットマップのコレクションがあります。作成された .resx ファイルは、resgen.exe によって birthdaypicker.resources ファイルにコンパイルされ、アプリケーションのアセンブリにリンクされます。

Visual Studio で BirthdayPicker をビルドして実行するには

  1. Visual Studio IDE で、BirthdayPicker.sln ソリューション ファイルを読み込みます。

  2. ソリューション エクスプローラで、[BirthdayPicker] ソリューションを右クリックします。

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

    カスタム ビルド ステップで、birthdaypicker.resx に対して resgen.exe を実行し、アプリケーションのリソース ファイルを生成します。さらに、リンカ オプション /assemblyresource を使用して、生成された birthdaypicker.resources とアプリケーションをリンクします。

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

サンプルの実行が開始されると、DateTimePicker コントロールが 2 つ表示されます。最初のコントロールで誕生日を選択し、2 番目のコントロールで日付 (現在の日付など) を選択します。日付範囲を選択すると、リンクされたツリー コントロールに複数のノードが追加され、選択した期間がいくつかの方法で表現されます。たとえば、経過した年数や日数で表したり、犬の年齢や昆虫の世代に換算したり、期間内の満月の回数で表したりします。

クラスとキーワード

このサンプルでは、次の各クラスを使用します。

DateTimePicker; ImageList; ResourceManager; TreeView

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

ResourceManager::GetObject; DateTimePicker::Format; TimeSpan; KeyPressEventHandler; ToolTip::SetToolTip; ContextMenu; TreeView::Nodes; TreeView::SelectedNode; TreeNode::GetNodeCount; TreeNode::Remove; TreeNodeCollection::Insert; TreeNodeCollection::Clear; String::Format; Panel; dynamic_cast

参照

その他の技術情報

一般的なサンプル