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 つ以上設定できます。
値 | 意味 |
---|---|
|
Windows Vista 以降。 piColFmt メンバーは有効であるか、設定する必要があります。 このフラグを使用する場合、 cColumns メンバーは有効であるか、設定する必要があります。 |
|
cColumns メンバーは有効であるか、設定する必要があります。 |
|
オペレーティング システムは、要求されたリスト アイテム情報を格納し、もう一度要求しないようにする必要があります。 このフラグは、 LVN_GETDISPINFO 通知コードでのみ使用されます。 |
|
iGroupId メンバーは有効であるか、設定する必要があります。 LVM_INSERTITEM メッセージの送信時にこのフラグが設定されていない場合、iGroupId の値はI_GROUPIDCALLBACKと見なされます。 |
|
iImage メンバーは有効であるか、設定する必要があります。 |
|
iIndent メンバーは有効であるか、設定する必要があります。 |
|
コントロールは、LVM_GETITEM メッセージ を 受信した場合、テキスト情報を取得する LVN_GETDISPINFO を生成しません。 代わりに、 pszText メンバーにはLPSTR_TEXTCALLBACKが含まれます。 |
|
lParam メンバーは有効であるか、設定する必要があります。 |
|
状態メンバーが有効であるか、設定する必要があります。 |
|
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スタイルがある場合は、pszText をLPSTR_TEXTCALLBACKに設定しないでください。
cchTextMax
型: int
pszText が指すバッファー内の TCHARの数 (終端の NULL を含む)。
このメンバーは、構造体が項目属性を受け取る場合にのみ使用されます。 構造体で項目属性が指定されている場合は無視されます。 たとえば、 cchTextMax は 、LVM_SETITEM および LVM_INSERTITEM中は無視されます。 LVN_GETDISPINFOおよびその他の LVN_ 通知中は読み取り専用です。
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 アイテムが属するグループの識別子、または次のいずれかの値。
値 | 意味 |
---|---|
|
listview コントロールは、親に LVN_GETDISPINFO 通知コードを送信して、グループのインデックスを取得します。 |
|
アイテムはグループに属していません。 |
cColumns
型: UINT
バージョン 6.0 タイル ビューでこのアイテムに表示するデータ列 (サブ項目) の数。 最大値は 20 です。 この値がI_COLUMNSCALLBACKの場合、列配列と配列自体 (puColumns) のサイズは、 LVN_GETDISPINFO 通知を送信することによって取得されます。
puColumns
型: PUINT
バージョン 6.0 列インデックスの配列へのポインター。この項目に表示される列と、それらの列の順序を指定します。
piColFmt
型: int*
Windows Vista: 実装されていません。 Windows 7 以降: 拡張タイル ビューの各サブ項目の形式を指定する、次のフラグ (単独または組み合わせ) の配列へのポインター。
iGroup
型: int
Windows Vista: アイテムのグループ インデックス。 所有者データ/コールバック (複数のグループ内の 1 つの項目) に対してのみ有効です。
解説
LVITEM 構造体は、LVM_GETITEM、LVM_SETITEM、LVM_INSERTITEM、LVM_DELETEITEMなど、いくつかのメッセージで使用されます。
タイル ビューでは、アイコンの右側にアイテム名が表示されます。 項目名の下の行に表示する追加のサブ項目 (詳細ビューの列に対応) を指定できます。 puColumns 配列には、表示するサブ項目のインデックスが含まれています。 項目名であるサブ項目 0 が既に表示されているため、インデックスは 0 より大きくする必要があります。 列情報は、リスト アイテムを変更するときに LVTILEINFO 構造体で設定することもできます。
コード例については、「 List-View コントロールの使用」を参照してください。
注意
commctrl.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして LVITEM を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | commctrl.h |