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 つ以上設定できます。
値 | 意味 |
---|---|
|
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 ベースのオーバーレイ イメージ インデックスを指定します。 フルサイズのアイコンイメージリストと小さなアイコン画像リストの両方にオーバーレイ画像を含めることができます。 オーバーレイ画像は、アイテムのアイコン画像に重ね合わされます。 これらのビットが 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 は項目テキストを受け取るバッファーへのポインターです。 リスト ビュー コントロールでは、任意の長さの文字列をアイテム テキストとして格納できますが、最初の 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_ 通知中は読み取り専用です。
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 を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | commctrl.h |