次の方法で共有


CListCtrl クラス

更新 : 2007 年 11 月

"リスト ビュー コントロール" の機能がカプセル化されています。このコントロールには、アイテムのコレクションが表示されます。各アイテムは、イメージ リストのアイコンとラベルで構成されます。

class CListCtrl : public CWnd

解説

アイコンとラベルに加えて、各アイテムの説明もアイコンとラベルの右の列に表示されます。このコントロール (および CListCtrl クラス) は、Windows 95/98 と Windows NT Version 3.51 以降の環境で実行されているプログラムでのみ利用できます。

ここでは、CListCtrl クラスについて概説します。詳細については、「CListCtrl の使い方」と「コントロール」を参照してください。

ビュー

リスト ビュー コントロールの内容は、次の 4 種類の "ビュー" に表示できます。

  • アイコン ビュー

    各アイテムがフル サイズのアイコン (32 x 32 ピクセル) で表示され、下にラベルが付きます。ユーザーは、リスト ビュー ウィンドウ内のどこにでもアイテムをドラッグできます。

  • 小さなアイコン ビュー

    各アイテムが小さなアイコン (16 x 16 ピクセル) で表示され、右側にラベルが付きます。ユーザーは、リスト ビュー ウィンドウ内のどこにでもアイテムをドラッグできます。

  • リスト ビュー

    各アイテムが小さなアイコンとして表示され、右側にラベルが付きます。アイテムは列状に配置されます。ユーザーは、リスト ビュー ウィンドウ内のアイテムをドラッグできません。

  • レポート ビュー

    各アイテムが各行に表示され、補足情報が右側の列に表示されます。左端の列に小さなアイコンとラベルが表示されます。2 列目以降には、アプリケーションで指定したサブアイテムが表示されます。これらの列は、埋め込みヘッダー コントロール (CHeaderCtrl クラス) によって実装されます。レポート ビューのヘッダー コントロールと列の詳細については、「コントロールへの列の追加 (レポート ビュー)」を参照してください。

参照

  • サポート技術情報の「HOWTO: Sort Items in a CListCtrl in Report View (Q250614)」

  • サポート技術情報の「PRB: OnTimer() Is Not Called Repeatedly for a List Control (Q200054)」

コントロールの現在のリスト ビュー スタイルによって現在のビューが決まります。これらのスタイルと使い方については、「リスト コントロール スタイルの変更」を参照してください。

拡張スタイル

CListCtrl クラスには、標準リスト スタイルのほか、多数の拡張スタイルがあり、豊富な機能が用意されています。一部の機能を以下に示します。

  • ホバー選択

    この機能を有効にすると、カーソルを一定時間停止した位置のアイテムが自動的に選択されます。

  • 仮想リスト ビュー

    この機能を有効にすると、コントロールで DWORD で表現できるアイテム数までサポートできます。アイテム データの管理オーバーヘッドをアプリケーションに任せるからです。アプリケーションでは、アイテムの選択およびフォーカス情報以外のすべてのアイテム情報を管理する必要があります。詳細については、「仮想リスト コントロール」を参照してください。

  • シングルクリックおよびダブルクリックによる起動

    この機能を有効にすると、ホット トラッキング (アイテム テキストの自動強調表示) が有効になり、強調表示されているアイテムをシングルクリックまたはダブルクリックで起動できるようになります。

  • ドラッグ アンド ドロップによる列の並べ替え

    この機能を有効にすると、リスト ビュー コントロールの列をドラッグ アンド ドロップ操作で並べ替えることができます。レポート ビュー専用の機能です。

これらの新しい拡張スタイルの使い方については、「リスト コントロール スタイルの変更」を参照してください。

アイテムとサブアイテム

リスト ビュー コントロールの各アイテムは、イメージ リストのアイコン、ラベル、現在の状態、および "アイテム データ" (アプリケーション定義値) で構成されます。また、各アイテムにサブアイテムをいくつでも関連付けることができます。"サブアイテム" は文字列であり、レポート ビューでアイテムのアイコンとラベルの右の列に表示できます。リスト ビュー コントロールでは、すべてのアイテムのサブアイテム数を統一する必要があります。

CListCtrl クラスには、これらのアイテムの挿入、削除、検索、および変更用の関数があります。詳細については、「CListCtrl::GetItem」、「CListCtrl::InsertItem」、「CListCtrl::FindItem」、「コントロールへの項目の追加」、および「リスト コントロールのスクロール、整列、並べ替え、検索」を参照してください。

リスト ビュー コントロールは、既定でアイテムのアイコン属性とテキスト属性を格納します。ただし、CListCtrl クラスは、これらのアイテムのほか、"コールバック アイテム" もサポートします。"コールバック アイテム" は、テキストとアイコンの両方または一方が、コントロールではなく、アプリケーションによって格納されるリスト ビュー アイテムです。アプリケーションで提供するアイテム属性 (テキストとアイコンの両方または一方) は、コールバック マスクによって指定します。コールバック アイテムを使用するアプリケーションは、要求に応じて、テキストとアイコンの両方または一方の属性を提供する必要があります。この情報を一部保持しているアプリケーションでは、コールバック アイテムは便利です。詳細については、「コールバック項目とコールバック マスク」を参照してください。

イメージ リスト

リスト ビュー アイテムのアイコン、ヘッダー アイテム イメージ、およびアプリケーション定義の状態は複数のイメージ リストに保持されます。イメージ リストは CImageList クラスによって実装し、リスト ビュー コントロールに割り当てます。各リスト ビュー コントロールに、以下の 4 種類のイメージ リストを割り当てることができます。

  • 大きなアイコン

    アイコン ビューでフル サイズのアイコンに使用されます。

  • 小さなアイコン

    小さなアイコン ビュー、リスト ビュー、およびレポート ビューで小さなアイコンに使用されます。

  • アプリケーション定義の状態

    アイテムのアイコンの隣に表示され、アプリケーション定義の状態を状態イメージによって表します。

  • ヘッダー アイテム

    レポート ビューで、各ヘッダー コントロール アイテムに小さなイメージとして表されます。

既定では、リスト ビュー コントロールを破棄すると、このコントロールに割り当てられているイメージ リストが破棄されます。ただし、この動作をカスタマイズして、アプリケーションで不要になったイメージ リストを破棄することもできます。詳細については、「リスト項目とイメージ リスト」を参照してください。

必要条件

ヘッダー : afxcmn.h

参照

処理手順

ROWLIST サンプル : リスト ビューの全行選択

参照

CWnd クラス

階層図

CImageList クラス

その他の技術情報

CListCtrl のメンバ