次の方法で共有


サンプルを収集します。MFC コレクション クラスを示します

COLLECT サンプルでは、MFC (Microsoft Foundation Class) ライブラリが提供するさまざまなコレクション クラスについて説明します。

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

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

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

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

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

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

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

サンプルのビルドと実行

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

  1. collect.sln ソリューション ファイルを開きます。

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

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

[Example] メニューには、以下の表に従って、9 つのコレクション クラスの例が一覧表示されます。Example それぞれの例では、次の共通のコレクション操作を実行するフォーム ビューが示されます。

  • 新しい要素を追加する。

  • 新しい要素をリストの途中に挿入する。

  • ダイアログ ボックスのリスト ボックスでエントリをクリックして、要素を検索する。

  • [Key] に入力し、[Find] をクリックして、マップのエントリを検索する。

  • 要素の値を更新する。

  • 要素を削除する。

  • コレクションのすべての要素を削除する。

すべて をクリックして、例ファイル メニューの保存し、 ファイルを開くファイル メニューをクリックして再度読み取るには、変更を保存できます。

MFC コレクション クラス

MFC コレクション クラスは、形状とデザインによって分類できます。 MFC には、コレクションの形状によって 3 とおりのクラスが用意されています。

  • リスト

  • 配列

  • マップ

MFC にはまた、デザインによっても 3 とおりが用意されています。

  • C++ テンプレートを使用しない。

  • C++ テンプレート ベースの単純な要素のコレクションを使用する。

  • C++ テンプレート ベースのタイプ セーフなポインターのコレクションを使用する。

以下の表は、すべての MFC コレクション クラスを形状とデザインごとに示します。 COLLECT サンプルでは、表の各セルから 1 つずつ、9 個のコレクションについて説明しています。 各コレクションは、形状とデザインの組み合わせが異なります。 CTypedPtrArray CTypedPtrList テンプレート ベース コレクションの使用状況に応じて異なるためも、かどうか、 CObjects したりする以外のポインターを保持するために使用でどちらの場合もCObject %s、COLLECT サンプルを示します。 COLLECT サンプルで説明している 9 つのコレクションには、アスタリスクが付いています。

コレクション クラスの形状

非テンプレート ベース

テンプレート ベースの単純な要素

テンプレート ベースのタイプ セーフなポインター

リスト

CStringList*

CList*

CTypedPtrList

 

CObList

 

(ポインター リスト)*

 

CPtrList

 

CTypedPtrList

 

 

 

(CObject リスト)

Array

CByteArray

CArray*

CTypedPtrArray

 

CUIntArray

 

(ポインター配列)

 

CWordArray*

 

 

 

CDWordArray

 

CTypedPtrArray

 

CStringArray

 

(CObject 配列)*

 

CPtrArray

 

 

 

CObArray

 

 

マップ

CMapWordToPtr

CMap*

CTypedPtrMap*

 

CMapWordToOb

 

 

 

CMapStringToString*

 

 

 

CMapStringToPtr

 

 

 

CMapStringToOb

 

 

 

CMapPtrToWord

 

 

 

CMapPtrToPtr

 

 

COLLECT のその他の機能

MFC のコレクション クラスの説明に加えて、COLLECT では以下についても説明しています。

  • リスト ボックス内のエントリの追加や削除と、コレクション内のエントリの追加や削除の調整。

  • 一度に 1 つのビューだけを表示する場合の、ドキュメントのさまざまなビューの切り替え。 COLLECT には多数の異なるビューがありますが、マルチ ドキュメント インターフェイス (MDI: Multiple Document Interface) ではなく、シングル ドキュメント インターフェイス (SDI: Single Document Interface) を使用しています。

Keywords

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

AfxMessageBox; CCmdUI::SetCheck; CControlBar::EnableDocking; CDialog::DoModal; CDocument::DeleteContents; CDocument::OnNewDocument; CFrameWnd::DockControlBar; CFrameWnd::EnableDocking; CFrameWnd::GetActiveDocument; CFrameWnd::GetActiveView; CFrameWnd::RecalcLayout; CFrameWnd::SetActiveView; CListBox::AddString; CListBox::DeleteString; CListBox::FindString; CListBox::GetCurSel; CListBox::GetItemData; CListBox::GetItemDataPtr; CListBox::GetText; CListBox::InsertString; CListBox::ResetContent; CListBox::SetItemData; CListBox::SetItemDataPtr; CObject::AssertValid; CObject::Dump; CObject::Serialize; CStatusBar::Create; CStatusBar::SetIndicators; CString::Empty; CString::Format; CString::LoadString; CToolBar::Create; CToolBar::LoadBitmap; CToolBar::SetButtons; CView::DoPreparePrinting; CView::GetDocument; CView::OnBeginPrinting; CView::OnDraw; CView::OnEndPrinting; CView::OnInitialUpdate; CView::OnPreparePrinting; CView::OnUpdate; CWinApp::AddDocTemplate; CWinApp::InitInstance; CWinApp::LoadStdProfileSettings; CWinApp::OnFileNew; CWnd::DestroyWindow; CWnd::DoDataExchange; CWnd::OnCreate; CWnd::ShowWindow; CWnd::UpdateData; LoadString; SetWindowLong

注意

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

参照

その他の技術情報

MFC サンプル