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

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

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

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

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

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

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

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

  • このサンプルの最新バージョンと他のサンプルの一覧については、MSDN Web サイトの Visual Studio のサンプルを参照してください。

サンプルのビルドと実行

.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

参照

その他の技術情報

一般的なサンプル