ListView_SetItemState マクロ (commctrl.h)

リスト ビュー コントロール内の項目の状態を変更します。 このマクロを使用することも、 LVM_SETITEMSTATE メッセージを明示的に送信することもできます。

構文

void ListView_SetItemState(
   hwndLV,
   i,
   data,
   mask
);

パラメーター

hwndLV

種類: HWND

リスト ビュー コントロールへのハンドル。

i

型: int

リスト ビュー アイテムのインデックス。 このパラメーターが -1 の場合、状態の変更はすべての項目に適用されます。

data

型: UINT

項目の新しい状態ビット。 mask パラメーターは、状態パラメーターの有効なビットを示します。 対応するビットが mask パラメーターに設定されていない場合、マクロは state パラメーター内のビットを無視します。 下位バイトには、項目の状態を示す一連のビット フラグが含まれています。 このバイトは、次の値の組み合わせにすることができます。

意味
LVIS_CUT
この項目は、切り取りと貼り付けの操作でマークされます。
LVIS_DROPHILITED
項目はドラッグ アンド ドロップターゲットとして強調表示されます。
LVIS_FOCUSED
項目にはフォーカスがあるため、標準のフォーカス四角形で囲まれます。 複数の項目を選択できますが、フォーカスを持つアイテムは 1 つだけです。
LVIS_SELECTED
項目が選択されています。 選択した項目の外観は、フォーカスがあるかどうかと、選択に使用されるシステムカラーによって異なります。 リスト ビュー コントロールにフォーカスがある場合、または LVS_SHOWSELALWAYS スタイルが使用されている場合にのみ、項目が選択された状態で表示されます。

mask

型: UINT

設定またはクリアする 状態 パラメーターのビット。 ListView_SetItemStateを使用して、ビットの設定とクリアの両方を行うことができます。 アイテムのオーバーレイ 画像インデックスを設定するには、 LVIS_OVERLAYMASK ビットを設定します。 項目の状態イメージ インデックスを設定するには、 LVIS_STATEIMAGEMASK ビットを設定します。

戻り値

なし

解説

項目の状態値には、項目の状態を示す一連のビット フラグが含まれます。 状態の値には、アイテムの状態イメージとオーバーレイ イメージを示すイメージ リスト インデックスを含めることもできます。

mask パラメーターは変更する状態ビットを指定し、state パラメーターはそれらのビットの新しい値を指定します。 アイテムの内部状態にビットを設定するには、 mask パラメーターと state パラメーターの両方で設定します。 アイテムの内部状態のビットをクリアするには、 mask パラメーターに設定し、 state パラメーターでクリアします。 アイテムの内部状態で少し変更を残すには、 mask パラメーターでクリアします。

state パラメーターのビット 8 から 11 は、コントロールのイメージ リスト内のオーバーレイ イメージの 1 から始まるインデックスを指定します。 フルサイズのアイコンイメージリストと小さなアイコン画像リストの両方にオーバーレイ画像を含めることができます。 オーバーレイ画像は、アイテムのアイコン画像に重ね合わされます。 これらのビットが 0 の場合、アイテムにはオーバーレイ イメージがありません。 これらのビットを分離するには、 LVIS_OVERLAYMASK マスクを使用します。 オーバーレイ インデックスを指定するには、 INDEXTOOVERLAYMASK マクロを使用します。

state パラメーターのビット 12 から 15 は、コントロールの 状態 イメージ リスト内のイメージの 1 から始まるインデックスを指定します。 状態イメージは、アプリケーション定義の状態を示す項目のアイコンの横に表示されます。 これらのビットが 0 の場合、項目には状態イメージがありません。 これらのビットを分離するには、 LVIS_STATEIMAGEMASK マスクを使用します。 状態イメージ インデックスを指定するには、 INDEXTOSTATEIMAGEMASK マクロを 使用します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー commctrl.h

こちらもご覧ください

ListView_GetItemState