LVITEMA-Struktur (commctrl.h)
Gibt die Attribute eines Listenansichtselements an oder empfängt sie. Diese Struktur wurde aktualisiert, um einen neuen Maskenwert (LVIF_INDENT) zu unterstützen, der das Einrücken von Elementen ermöglicht. Diese Struktur ersetzt die LV_ITEM Struktur.
Syntax
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;
Angehörige
mask
Typ: UINT-
Satz von Flags, die angeben, welche Member dieser Struktur Daten enthalten, die festgelegt werden sollen oder welche Member angefordert werden. Dieses Element kann mindestens eins der folgenden Flags festlegen:
Wert | Bedeutung |
---|---|
|
Windows Vista und höher. Das piColFmt Member ist gültig oder muss festgelegt werden. Wenn dieses Flag verwendet wird, ist der cColumns Member gültig oder muss festgelegt werden. |
|
Das cColumns Member ist gültig oder muss festgelegt werden. |
|
Das Betriebssystem sollte die angeforderten Listenelementinformationen speichern und nicht erneut fragen. Dieses Kennzeichen wird nur mit dem LVN_GETDISPINFO Benachrichtigungscode verwendet. |
|
Das iGroupId Member ist gültig oder muss festgelegt werden. Wenn dieses Flag nicht festgelegt ist, wenn eine LVM_INSERTITEM Nachricht gesendet wird, wird der Wert iGroupId- als I_GROUPIDCALLBACK angenommen. |
|
Das iImage Member ist gültig oder muss festgelegt werden. |
|
Das iIndent Member ist gültig oder muss festgelegt werden. |
|
Das Steuerelement generiert keine LVN_GETDISPINFO, um Textinformationen abzurufen, wenn es eine LVM_GETITEM Nachricht empfängt. Stattdessen enthält das pszText Member LPSTR_TEXTCALLBACK. |
|
Das lParam Member ist gültig oder muss festgelegt werden. |
|
Der Status Member ist gültig oder muss festgelegt werden. |
|
Das pszText Member ist gültig oder muss festgelegt werden. |
iItem
Typ: int
Nullbasierter Index des Elements, auf das sich diese Struktur bezieht.
iSubItem
Typ: int
Einsbasierter Index des Unterelements, auf das sich diese Struktur bezieht, oder Null, wenn sich diese Struktur auf ein Element anstatt auf ein Unterelement bezieht.
state
Typ: UINT-
Gibt den Status, das Statusbild und das Überlagerungsbild des Elements an. Das stateMask Member gibt die gültigen Bits dieses Elements an.
Bits 0 bis 7 dieses Elements enthalten die Elementstatuskennzeichnungen. Dies kann ein oder mehrere Elementstatus Werte sein.
Bits 8 bis 11 dieses Elements geben den 1-basierten Überlagerungsbildindex an. Sowohl die Symbolbildliste als auch die kleine Symbolbildliste können Überlagerungsbilder aufweisen. Das Überlagerungsbild wird über dem Symbolbild des Elements überlagert. Wenn diese Bits null sind, weist das Element kein Überlagerungsbild auf. Verwenden Sie die LVIS_OVERLAYMASK Maske, um diese Bits zu isolieren. Um den Überlagerungsbildindex in diesem Element festzulegen, sollten Sie das INDEXTOOVERLAYMASK- Makro verwenden. Die Überlagerungsbilder der Bildliste werden mit der ImageList_SetOverlayImage-Funktion festgelegt.
Bits 12 bis 15 dieses Mitglieds geben den Statusbildindex an. Das Statusbild wird neben dem Symbol eines Elements angezeigt, um einen anwendungsdefinierten Zustand anzugeben. Wenn diese Bits null sind, weist das Element kein Zustandsbild auf. Verwenden Sie die LVIS_STATEIMAGEMASK Maske, um diese Bits zu isolieren. Um den Statusbildindex festzulegen, verwenden Sie das INDEXTOSTATEIMAGEMASK Makro. Der Statusbildindex gibt den Index des Bilds in der Zustandsbildliste an, die gezeichnet werden soll. Die Statusbildliste wird mit der LVM_SETIMAGELIST Nachricht angegeben.
stateMask
Typ: UINT-
Wert, der angibt, welche Bits des Zustands Member abgerufen oder geändert werden. Wenn Sie dieses Element beispielsweise auf LVIS_SELECTED festlegen, wird nur der Auswahlstatus des Elements abgerufen.
Mit diesem Mitglied können Sie einen oder mehrere Elementzustände ändern, ohne zuerst alle Elementzustände abrufen zu müssen. Wenn Sie dieses Element beispielsweise auf LVIS_SELECTED und Zustand festlegen, auf Null festgelegt wird, wird der Auswahlstatus des Elements gelöscht, aber keiner der anderen Zustände ist betroffen.
Um alle Zustände abzurufen oder zu ändern, legen Sie dieses Mitglied auf (UINT)-1 fest.
Sie können das Makro ListView_SetItemState sowohl zum Festlegen als auch zum Löschen von Bits verwenden.
pszText
Typ: LPTSTR-
Wenn die Struktur Elementattribute angibt, ist pszText- ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Elementtext enthält. Achten Sie bei der Reaktion auf eine LVN_GETDISPINFO-Benachrichtigung darauf, dass dieser Zeiger gültig bleibt, bis die nächste Benachrichtigung empfangen wurde.
Wenn die Struktur Elementattribute empfängt, ist pszText- ein Zeiger auf einen Puffer, der den Elementtext empfängt. Beachten Sie, dass zwar mit dem Listenansicht-Steuerelement eine beliebige Längenzeichenfolge als Elementtext gespeichert werden kann, jedoch werden nur die ersten 259 TCHAR-s angezeigt.
Wenn der Wert pszText- LPSTR_TEXTCALLBACK ist, ist das Element ein Rückrufelement. Wenn sich der Rückruftext ändert, müssen Sie explizit pszText- auf LPSTR_TEXTCALLBACK festlegen und das Listenansichtssteuerelement über die Änderung benachrichtigen, indem Sie eine LVM_SETITEM- oder LVM_SETITEMTEXT Nachricht senden.
Legen Sie pszText- nicht auf LPSTR_TEXTCALLBACK fest, wenn das Listenansichtssteuerelement das LVS_SORTASCENDING oder LVS_SORTDESCENDING Format aufweist.
cchTextMax
Typ: int
Die Anzahl der TCHARs im Puffer, auf die durch pszText-verwiesen wurde, einschließlich des endierenden NULL-.
Dieses Element wird nur verwendet, wenn die Struktur Elementattribute empfängt. Sie wird ignoriert, wenn die Struktur Elementattribute angibt. Beispielsweise wird cchTextMax- während LVM_SETITEM und LVM_INSERTITEMignoriert. Sie ist während LVN_GETDISPINFO und anderer LVN_ Benachrichtigungen schreibgeschützt.
iImage
Typ: int
Index des Elementssymbols in der Bildliste des Steuerelements. Dies gilt sowohl für die große als auch für die kleine Bildliste. Wenn dieses Element der I_IMAGECALLBACK Wert ist, ist das übergeordnete Fenster für das Speichern des Indexes verantwortlich. In diesem Fall sendet das Listenansicht-Steuerelement dem übergeordneten Element einen LVN_GETDISPINFO Benachrichtigungscode, um den Index abzurufen, wenn es das Bild anzeigen muss.
lParam
Typ: LPARAM-
Wert, der für das Element spezifisch ist. Wenn Sie die LVM_SORTITEMS Nachricht verwenden, übergibt das Listenansicht-Steuerelement diesen Wert an die anwendungsdefinierte Vergleichsfunktion. Sie können auch die LVM_FINDITEM Nachricht verwenden, um ein Listenansicht-Steuerelement für ein Element mit einem angegebenen lParam Wert zu durchsuchen.
iIndent
Typ: int
Version 4.70. Anzahl der Bildbreiten, um das Element einzurücken. Ein einzelner Einzug entspricht der Breite eines Elementbilds. Daher wird das Element vom Wert 1 durch die Breite eines Bilds eingezogen, der Wert 2 durch zwei Bilder eingezogen usw. Beachten Sie, dass dieses Feld nur für Elemente unterstützt wird. Der Versuch, den Einzug von Unterelementen festzulegen, führt dazu, dass die aufrufende Funktion fehlschlägt.
iGroupId
Typ: int
Version 6.0 Bezeichner der Gruppe, zu der das Element gehört, oder einen der folgenden Werte.
Wert | Bedeutung |
---|---|
|
Das Listview-Steuerelement sendet dem übergeordneten Element einen LVN_GETDISPINFO Benachrichtigungscode, um den Index der Gruppe abzurufen. |
|
Das Element gehört nicht zu einer Gruppe. |
cColumns
Typ: UINT-
Version 6.0 Anzahl der Datenspalten (Unterelemente), die für dieses Element in der Kachelansicht angezeigt werden sollen. Der Maximalwert ist 20. Wenn dieser Wert I_COLUMNSCALLBACK ist, werden die Größe des Spaltenarrays und des Arrays selbst (puColumns) durch Senden einer LVN_GETDISPINFO-Benachrichtigung abgerufen.
puColumns
Typ: PUINT-
Version 6.0 Ein Zeiger auf ein Array von Spaltenindizes, wobei angegeben wird, welche Spalten für dieses Element angezeigt werden, und die Reihenfolge dieser Spalten.
piColFmt
Typ: int*
Windows Vista: Nicht implementiert. Windows 7 und höher: Ein Zeiger auf ein Array der folgenden Flags (allein oder in Kombination), wobei das Format der einzelnen Unterelemente in der erweiterten Kachelansicht angegeben wird.
iGroup
Typ: int
Windows Vista: Gruppenindex des Elements. Gilt nur für Besitzerdaten/Rückrufe (einzelnes Element in mehreren Gruppen).
Bemerkungen
Die LVITEM--Struktur wird mit mehreren Nachrichten verwendet, darunter LVM_GETITEM, LVM_SETITEM, LVM_INSERTITEMund LVM_DELETEITEM.
In der Kachelansicht wird der Elementname rechts neben dem Symbol angezeigt. Sie können zusätzliche Unterelemente (entsprechend Spalten in der Detailansicht) angeben, die in Zeilen unterhalb des Elementnamens angezeigt werden sollen. Die puColumns Array enthält die Indizes der anzuzeigenden Unterelemente. Indizes sollten größer als 0 sein, da Unterelement 0, der Elementname, bereits angezeigt wird. Spalteninformationen können auch im LVTILEINFO Struktur festgelegt werden, wenn das Listenelement geändert wird.
Beispielcode finden Sie unter Using List-View Controls.
Anmerkung
Der commctrl.h-Header definiert LVITEM als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Header- | commctrl.h |