次の方法で共有


LVITEMA 構造体 (commctrl.h)

リスト ビュー 項目の属性を指定または受信します。 この構造体は、項目のインデントを有効にする新しいマスク値 (LVIF_INDENT) をサポートするように更新されました。 この構造体は、LV_ITEM 構造体よりも優先されます。

構文

typedef struct tagLVITEMA {
  UINT   mask;
  int    iItem;
  int    iSubItem;
  UINT   state;
  UINT   stateMask;
  LPSTR  pszText;
  int    cchTextMax;
  int    iImage;
  LPARAM lParam;
  int    iIndent;
  int    iGroupId;
  UINT   cColumns;
  PUINT  puColumns;
  int    *piColFmt;
  int    iGroup;
} LVITEMA, *LPLVITEMA;

メンバーズ

mask

型: UINT

この構造体のどのメンバーに設定するデータが含まれているか、要求されるメンバーを指定するフラグのセット。 このメンバーには、次のフラグを 1 つ以上設定できます。

価値 意味
LVIF_COLFMT
Windows Vista 以降。 piColFmt メンバーは有効であるか、設定する必要があります。 このフラグを使用する場合、cColumns メンバーは有効であるか、設定する必要があります。
LVIF_COLUMNS
cColumns メンバーは有効であるか、設定する必要があります。
LVIF_DI_SETITEM
オペレーティング システムは、要求されたリスト アイテム情報を格納し、再び要求しないようにする必要があります。 このフラグは、LVN_GETDISPINFO 通知コードでのみ使用されます。
LVIF_GROUPID
iGroupId メンバーが有効であるか、設定されている必要があります。 LVM_INSERTITEM メッセージの送信時にこのフラグが設定されていない場合、iGroupId の値はI_GROUPIDCALLBACKと見なされます。
LVIF_IMAGE
iImage メンバーは有効であるか、設定する必要があります。
LVIF_INDENT
iIndent メンバーは有効であるか、設定する必要があります。
LVIF_NORECOMPUTE
コントロールは、LVM_GETITEM メッセージを受信した場合、テキスト情報を取得する LVN_GETDISPINFO を生成しません。 代わりに、pszText メンバーにはLPSTR_TEXTCALLBACKが含まれます。
LVIF_PARAM
lParam メンバーは有効であるか、設定する必要があります。
LVIF_STATE
メンバー 状態が有効であるか、設定する必要があります。
LVIF_TEXT
pszText メンバーは有効であるか、設定する必要があります。

iItem

型: int

この構造体が参照する項目の 0 から始まるインデックス。

iSubItem

型: int

この構造体が参照するサブ項目の 1 から始まるインデックス。この構造体がサブ項目ではなく項目を参照する場合は 0。

state

型: UINT

アイテムの状態、状態イメージ、オーバーレイ イメージを示します。 stateMask メンバーは、このメンバーの有効なビットを示します。

このメンバーのビット 0 から 7 には、項目状態フラグが含まれています。 項目の状態 値を 1 つ以上指定できます。

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

このメンバーのビット 12 から 15 は、状態イメージのインデックスを指定します。 状態イメージは、アプリケーション定義の状態を示す項目のアイコンの横に表示されます。 これらのビットが 0 の場合、項目には状態イメージがありません。 これらのビットを分離するには、LVIS_STATEIMAGEMASK マスクを使用します。 状態イメージ インデックスを設定するには、INDEXTOSTATEIMAGEMASK マクロ 使用します。 状態イメージ インデックスは、描画する必要がある状態イメージ リスト内のイメージのインデックスを指定します。 状態イメージ リストは、LVM_SETIMAGELIST メッセージと共に指定されます。

stateMask

型: UINT

メンバー 状態のどのビットを取得または変更するかを指定する値。 たとえば、このメンバーを LVIS_SELECTED に設定すると、アイテムの選択状態のみが取得されます。

このメンバーを使用すると、最初にすべての項目の状態を取得しなくても、1 つ以上の項目の状態を変更できます。 たとえば、このメンバーを LVIS_SELECTED に設定し、状態 を 0 に設定すると、項目の選択状態はクリアされますが、他のどの状態も影響を受けなくなります。

すべての状態を取得または変更するには、このメンバーを (UINT)-1 に設定します。

マクロ ListView_SetItemState を使用して、ビットの設定とクリアの両方を行うことができます。

pszText

型: LPTSTR

構造体で項目属性が指定されている場合、pszText は、項目テキストを含む null で終わる文字列へのポインターです。 LVN_GETDISPINFO 通知に応答するときは、次の通知が受信されるまで、このポインターが有効なままであることを確認してください。

構造体が項目属性を受け取る場合、pszText は、項目テキストを受け取るバッファーへのポインターです。 リスト ビュー コントロールでは、任意の長さの文字列を項目テキストとして格納できますが、最初の 259 TCHARのみが表示されることに注意してください。

pszText の値 LPSTR_TEXTCALLBACK場合、項目はコールバック項目です。 コールバック テキストが変更された場合は、pszText 明示的にLPSTR_TEXTCALLBACKに設定し、LVM_SETITEM または LVM_SETITEMTEXT メッセージを送信して、変更をリスト ビュー コントロールに通知する必要があります。

リスト ビュー コントロール LVS_SORTASCENDING または LVS_SORTDESCENDING スタイルがある場合は、pszText をLPSTR_TEXTCALLBACKに設定しないでください。

cchTextMax

型: int

pszTextが指すバッファー内の TCHAR の数 (終端 NULLを含む)。

このメンバーは、構造体が項目属性を受け取る場合にのみ使用されます。 構造体が項目属性を指定する場合は無視されます。 たとえば、cchTextMax は、LVM_SETITEM および LVM_INSERTITEM中は無視されます。 LVN_GETDISPINFO およびその他のLVN_通知中は読み取り専用です。

注意 cchTextMaxTCHARを超えてコピーしないでください。cchTextMax には、LVN_通知中に終了 NULLが含まれる場合 pszText にコピーできません。そうしないと、プログラムが失敗する可能性があります。
 

iImage

型: int

コントロールのイメージ リスト内の項目のアイコンのインデックス。 これは、大きい画像と小さい画像の両方の一覧に適用されます。 このメンバーがI_IMAGECALLBACK値の場合、親ウィンドウはインデックスの格納を担当します。 この場合、リスト ビュー コントロールは、イメージを表示する必要があるときにインデックスを取得する LVN_GETDISPINFO 通知コードを親に送信します。

lParam

型: LPARAM

項目に固有の値。 LVM_SORTITEMS メッセージを使用すると、リスト ビュー コントロールはこの値をアプリケーション定義の比較関数に渡します。 LVM_FINDITEM メッセージを使用して、lParam 値を指定 項目のリスト ビュー コントロールを検索することもできます。

iIndent

型: int

バージョン 4.70を します。 項目をインデントする画像の幅の数。 1 つのインデントは、項目イメージの幅と等しくなります。 そのため、値 1 は 1 つの画像の幅で項目をインデントし、値 2 は 2 つの画像でインデントします。などです。 このフィールドはアイテムに対してのみサポートされることに注意してください。 サブ項目のインデントを設定しようとすると、呼び出し元の関数が失敗します。

iGroupId

型: int

バージョン 6.0 項目が属するグループの識別子、または次のいずれかの値です。

価値 意味
I_GROUPIDCALLBACK
listview コントロールは、グループのインデックスを取得する LVN_GETDISPINFO 通知コードを親に送信します。
I_GROUPIDNONE
アイテムはグループに属していません。

cColumns

型: UINT

バージョン 6.0 タイル ビューでこのアイテムに表示するデータ列 (サブ項目) の数。 最大値は 20 です。 この値がI_COLUMNSCALLBACKの場合、列配列のサイズと配列自体 (puColumns) は、LVN_GETDISPINFO 通知を送信することによって取得されます。

puColumns

型: PUINT

バージョン 6.0 列インデックスの配列へのポインター。この項目に表示する列と、それらの列の順序を指定します。

piColFmt

型: int*

Windows Vista: 実装されていません。 Windows 7 以降 : 拡張タイル ビューで各サブ項目の形式を指定する、次のフラグ (単独または組み合わせ) の配列へのポインター。

価値 意味
LVCFMT_LINE_BREAK
列を強制的に折り返して、次の列の一覧の先頭に移動します。
LVCFMT_FILL
タイル領域の残りの部分を塗りつぶします。 タイトルがある可能性があります。
LVCFMT_WRAP
列の一覧の残りのスペース内で列を折り返すことができます。
LVCFMT_NO_TITLE
サブ項目からタイトルを削除します。
LVCFMT_TILE_PLACEMENTMASK
LVCFMT_LINE_BREAKとLVCFMT_FILLの組み合わせに相当します。

iGroup

型: int

Windows Vista: 項目のグループ インデックス。 所有者データ/コールバック (複数のグループ内の 1 つの項目) に対してのみ有効です。

備考

LVITEM 構造体は、LVM_GETITEMLVM_SETITEMLVM_INSERTITEMLVM_DELETEITEMなど、いくつかのメッセージと共に使用されます。

タイル ビューでは、項目名がアイコンの右側に表示されます。 項目名の下の行に表示する追加のサブ項目 (詳細ビューの列に対応) を指定できます。 puColumns 配列には、表示するサブ項目のインデックスが含まれています。 項目名であるサブ項目 0 が既に表示されているため、インデックスは 0 より大きくする必要があります。 列情報は、リスト項目を変更するときに、LVTILEINFO 構造で設定することもできます。

コード例については、「List-View コントロールの使用」を参照してください。

Comctl32.dll バージョン 6 は再頒布可能ではありませんが、Windows 以降に含まれています。 バージョン 6 Comctl32.dll 使用するには、マニフェストで指定します。 マニフェストの詳細については、「Visual Stylesを有効にする」を参照してください。
 

手記

commctrl.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして LVITEM を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー commctrl.h