LVITEMA-Struktur (commctrl.h)
Gibt die Attribute eines Listenansichtselements an oder empfängt diese. Diese Struktur wurde aktualisiert, um einen neuen Maskenwert (LVIF_INDENT) zu unterstützen, der das Einzugen 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;
Member
mask
Typ: UINT
Eine Reihe von Flags, die angeben, welche Member dieser Struktur festzulegende Daten enthalten oder welche Member angefordert werden. Für dieses Element kann eines oder mehrere der folgenden Flags festgelegt sein:
Wert | Bedeutung |
---|---|
|
Windows Vista und höher. Das piColFmt-Element ist gültig oder muss festgelegt werden. Wenn dieses Flag verwendet wird, ist das cColumns-Element gültig oder muss festgelegt werden. |
|
Der cColumns-Member ist gültig oder muss festgelegt werden. |
|
Das Betriebssystem sollte die angeforderten Listenelementinformationen speichern und nicht erneut danach fragen. Dieses Flag wird nur mit dem LVN_GETDISPINFO-Benachrichtigungscode verwendet. |
|
Das iGroupId-Element ist gültig oder muss festgelegt werden. Wenn dieses Flag beim Senden einer LVM_INSERTITEM Nachricht nicht festgelegt wird, wird angenommen, dass der Wert von iGroupId I_GROUPIDCALLBACK ist. |
|
Das iImage-Element ist gültig oder muss festgelegt werden. |
|
Das iIndent-Element ist gültig oder muss festgelegt werden. |
|
Das Steuerelement generiert keine LVN_GETDISPINFO zum Abrufen von Textinformationen, wenn es eine LVM_GETITEM Nachricht empfängt. Stattdessen enthält das pszText-Element LPSTR_TEXTCALLBACK. |
|
Der lParam-Member ist gültig oder muss festgelegt werden. |
|
Das Staatsmitglied ist gültig oder muss festgelegt werden. |
|
Der 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
Einbasierter Index des Unterelements, auf das sich diese Struktur bezieht, oder null, wenn diese Struktur auf ein Element und nicht auf ein Unterelement verweist.
state
Typ: UINT
Gibt den Zustand, das Zustandsbild und das Überlagerungsbild des Elements an. Der stateMask-Member gibt die gültigen Bits dieses Members an.
Die Bits 0 bis 7 dieses Members enthalten die Elementstatusflags. Dies kann mindestens einer der Elementzustandswerte sein.
Die Bits 8 bis 11 dieses Members geben den index für einbasiertes Überlagerungsbild an. Sowohl die Bildliste in voller Größe als auch die kleine Symbolbildliste können Überlagerungsbilder enthalten. Das Überlagerungsbild wird über dem Symbolbild des Elements angeordnet. Wenn diese Bits null sind, verfügt das Element über kein Überlagerungsbild. Um diese Bits zu isolieren, verwenden Sie die LVIS_OVERLAYMASK-Maske . Um den Überlagerungsbildindex in diesem Element festzulegen, sollten Sie das Makro INDEXTOOVERLAYMASK verwenden. Die Überlagerungsbilder der Bildliste werden mit der funktion ImageList_SetOverlayImage festgelegt.
Die Bits 12 bis 15 dieses Members geben den Statusbildindex an. Das Statusbild wird neben dem Symbol eines Elements angezeigt, um einen anwendungsdefinierten Zustand anzugeben. Wenn diese Bits 0 sind, hat das Element kein Zustandsimage. Um diese Bits zu isolieren, verwenden Sie die LVIS_STATEIMAGEMASK-Maske . Verwenden Sie zum Festlegen des Zustandsbildindex das Makro INDEXTOSTATEIMAGEMASK . Der Statusbildindex gibt den Index des Bilds in der Statusbildliste an, das gezeichnet werden soll. Die Statusbildliste wird mit der LVM_SETIMAGELIST Meldung angegeben.
stateMask
Typ: UINT
Wert, der angibt, welche Bits des Zustandselements abgerufen oder geändert werden. Wenn Sie diesen Member beispielsweise auf LVIS_SELECTED festlegen, wird nur der Auswahlstatus des Elements abgerufen.
Mit diesem Member können Sie einen oder mehrere Elementzustände ändern, ohne zuerst alle Elementzustände abrufen zu müssen. Wenn Sie z. B. diesen Member auf LVIS_SELECTED und den Zustand auf 0 (null) festlegen, wird der Auswahlzustand des Elements gelöscht, aber keiner der anderen Zustände ist betroffen.
Um alle Zustände abzurufen oder zu ändern, legen Sie diesen Member 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 Zeichenfolge mit NULL-Beendigung, die den Elementtext enthält. Wenn Sie auf eine LVN_GETDISPINFO-Benachrichtigung antworten, stellen Sie sicher, 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 das Listenansicht-Steuerelement das Speichern beliebiger Längenzeichenfolgen als Elementtext zulässt, aber nur die ersten 259 TCHAR-Elementeangezeigt werden.
Wenn der Wert von pszText LPSTR_TEXTCALLBACK ist, ist das Element ein Rückrufelement. Wenn sich der Rückruftext ändert, müssen Sie pszText explizit auf LPSTR_TEXTCALLBACK festlegen und das Listenansicht-Steuerelement ü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 die LVS_SORTASCENDING oder LVS_SORTDESCENDING Format aufweist.
cchTextMax
Typ: int
Anzahl der TCHAR-Werte im Puffer, auf die von pszText verwiesen wird, einschließlich des beendenden NULL.
Dieser Member 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_INSERTITEM ignoriert. Sie ist während LVN_GETDISPINFO und anderer LVN_-Benachrichtigungen schreibgeschützt.
iImage
Typ: int
Index des Elementsymbols in der Bildliste des Steuerelements. Dies gilt sowohl für die Liste mit großen als auch für kleine Bilder. Wenn dieser Member der I_IMAGECALLBACK Wert ist, ist das übergeordnete Fenster für die Speicherung des Indexes zuständig. In diesem Fall sendet das Listenansicht-Steuerelement dem übergeordneten Element einen LVN_GETDISPINFO Benachrichtigungscode, um den Index abzurufen, wenn das Bild angezeigt werden muss.
lParam
Typ: LPARAM
Wert, der für das Element spezifisch ist. Wenn Sie die LVM_SORTITEMS Meldung verwenden, übergibt das Listenansicht-Steuerelement diesen Wert an die anwendungsdefinierte Vergleichsfunktion. Sie können auch die LVM_FINDITEM Nachricht verwenden, um ein Listenansichtssteuerelement nach einem Element mit einem angegebenen lParam-Wert zu durchsuchen.
iIndent
Typ: int
Version 4.70. Anzahl der Bildbreiten, die das Element eingezogen werden sollen. Ein einzelner Einzug entspricht der Breite eines Elementbilds. Daher zieht der Wert 1 das Element um die Breite eines Bilds, der Wert 2 um zwei Bilder usw. ein. Beachten Sie, dass dieses Feld nur für Elemente unterstützt wird. Der Versuch, den Unterelementeinzug 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 einer 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 keiner Gruppe an. |
cColumns
Typ: UINT
Version 6.0 Anzahl der Datenspalten (Unterelemente), die für dieses Element in der Kachelansicht angezeigt werden sollen. Der Höchstwert 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, der angibt, 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), der das Format jedes Unterelements in der erweiterten Kachelansicht angibt.
iGroup
Typ: int
Windows Vista: Gruppenindex des Elements. Gilt nur für Besitzerdaten/Rückrufe (einzelnes Element in mehreren Gruppen).
Hinweise
Die LVITEM-Struktur wird mit mehreren Nachrichten verwendet, einschließlich LVM_GETITEM, LVM_SETITEM, LVM_INSERTITEM und LVM_DELETEITEM.
In der Kachelansicht wird der Elementname rechts neben dem Symbol angezeigt. Sie können zusätzliche Unterelemente angeben (die spalten in der Detailansicht entsprechen), die in Zeilen unterhalb des Elementnamens angezeigt werden sollen. Das 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 beim Ändern des Listenelements auch in der LVTILEINFO-Struktur festgelegt werden.
Beispielcode finden Sie unter Verwenden von List-View-Steuerelementen.
Hinweis
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
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | commctrl.h |