コールバック項目とコールバック マスク
更新 : 2007 年 11 月
通常、リスト ビュー コントロールには、ラベル テキスト、項目のアイコンのイメージ リスト インデックス、項目の状態を示すビット フラグのセットが格納されています。各項目をコールバック項目として定義できます。これは、アプリケーションが既に項目情報の一部を格納している場合に役立ちます。
LV_ITEM 構造体の pszText と iImage のメンバに対して適切な値を指定して、項目をコールバック項目として定義します (「CListCtrl::GetItem」を参照)。アプリケーションが項目またはサブ項目のテキストを保持している場合、pszText メンバに対して LPSTR_TEXTCALLBACK 値を指定します。アプリケーションが項目のアイコンを記録している場合、iImage メンバに対して I_IMAGECALLBACK 値を指定します。
コールバック項目を定義するだけでなく、コントロールのコールバック マスクを変更することもできます。このマスクは、項目の状態を示すビット フラグのセットです。項目の状態とは、コントロールに対する状態ではなく、アプリケーションに対する状態を表します。このマスクには、現在の状態が保存されます。コールバック項目の指定が特定の項目にのみ適用されるのとは異なり、コールバック マスクは、コントロールの項目すべてに適用されます。コールバック マスクは既定では 0 です。この既定値は、コントロールがすべての項目の状態を記録することを示します。この既定の動作を変更するには、以下の値の組み合わせによってマスクを初期化します。
LVIS_CUT 切り取りおよび貼り付け操作に対して項目がマークされます。
LVIS_DROPHILITED 項目がドラッグ アンド ドロップ ターゲットとして強調表示されます。
LVIS_FOCUSED 項目にフォーカスがあります。
LVIS_SELECTED 項目が選択されます。
LVIS_OVERLAYMASK アプリケーションは、各項目に対する現在のオーバーレイ イメージのイメージ リスト インデックスを格納します。
LVIS_STATEIMAGEMASK アプリケーションは、各項目に対する現在の状態イメージのイメージ リスト インデックスを格納します。
このマスクの取得および設定の詳細については、「CListCtrl::GetCallbackMask」および「CListCtrl::SetCallbackMask」を参照してください。