LVITEMW 構造体 (commctrl.h)

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

構文

typedef struct tagLVITEMW {
  UINT   mask;
  int    iItem;
  int    iSubItem;
  UINT   state;
  UINT   stateMask;
  LPWSTR pszText;
  int    cchTextMax;
  int    iImage;
  LPARAM lParam;
  int    iIndent;
  int    iGroupId;
  UINT   cColumns;
  PUINT  puColumns;
  int    *piColFmt;
  int    iGroup;
} LVITEMW, *LPLVITEMW;

メンバー

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 に設定し 、state を 0 に設定すると、アイテムの選択状態はクリアされますが、他の状態は影響を受けなくなります。

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

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

pszText

種類: LPTSTR

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

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

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

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

cchTextMax

型: int

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

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

メモcchTextMaxTCHARs (cchTextMax に終端の NULL が含まれる) を、LVN_通知中に 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_GETITEM、LVM_SETITEMLVM_INSERTITEMLVM_DELETEITEMなど、いくつかのメッセージで使用されます

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

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

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

注意

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

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header commctrl.h