LVITEMW-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 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;
Member
mask
Typ: UINT
Eine Reihe von Flags, die angeben, welche Member dieser Struktur festzulegende Daten enthalten oder welche Elemente angefordert werden. Für dieses Element können mindestens eine der folgenden Flags festgelegt sein:
Wert | Bedeutung |
---|---|
|
Windows Vista und höher. Der piColFmt-Member 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 anfordern. 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 davon ausgegangen, dass der Wert von iGroupId I_GROUPIDCALLBACK ist. |
|
Das iImage-Element ist gültig oder muss festgelegt werden. |
|
Der iIndent-Member 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. |
|
Das lParam-Element ist gültig oder muss festgelegt werden. |
|
Das Staatsmitglied ist gültig oder muss festgelegt werden. |
|
Das pszText-Element ist gültig oder muss festgelegt werden. |
iItem
Typ: int
Nullbasierter Index des Elements, auf das sich diese Struktur bezieht.
iSubItem
Typ: int
Ein basierender 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. Das stateMask-Element 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 1-basierten Überlagerungsbildindex an. Sowohl die Liste mit der vollständigen Symbolbildliste als auch die Kleine Symbolbildliste können Überlagerungsbilder enthalten. Das Überlagerungsbild wird dem Symbolbild des Elements überlagert. Wenn diese Bits 0 sind, hat das Element kein Überlagerungsbild. Um diese Bits zu isolieren, verwenden Sie die LVIS_OVERLAYMASK-Maske . Um den Überlagerungsbildindex in diesem Member festzulegen, sollten Sie das Makro INDEXTOOVERLAYMASK verwenden. Die Überlagerungsbilder der Bildliste werden mit der ImageList_SetOverlayImage-Funktion festgelegt.
Die Bits 12 bis 15 dieses Members geben den Zustandsbildindex an. Das Zustandsbild wird neben dem Symbol eines Elements angezeigt, um einen anwendungsdefinierten Zustand anzuzeigen. Wenn diese Bits 0 sind, verfügt das Element über kein Zustandsimage. Um diese Bits zu isolieren, verwenden Sie die LVIS_STATEIMAGEMASK-Maske . Um den Zustandsbildindex festzulegen, verwenden Sie das Makro INDEXTOSTATEIMAGEMASK . Der Statusbildindex gibt den Index des Bilds in der Zustandsbildliste an, das gezeichnet werden soll. Die Statusbildliste wird mit der LVM_SETIMAGELIST Nachricht angegeben.
stateMask
Typ: UINT
Wert, der angibt, welche Bits des Staatsmitglieds abgerufen oder geändert werden sollen. 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 diesen Member z. B. auf LVIS_SELECTED und Zustand auf 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 verwenden, um Bits festzulegen und zu löschen.
pszText
Typ: LPTSTR
Wenn die Struktur Elementattribute angibt, ist pszText ein Zeiger auf eine NULL-Zeichenfolge, die den Elementtext enthält. Wenn Sie auf eine LVN_GETDISPINFO Benachrichtigung reagieren, 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 mit dem Listenansichtssteuerelement zwar beliebige Längenzeichenfolgen als Elementtext gespeichert werden können, aber nur die ersten 260 TCHARs angezeigt 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 Listenansicht-Steuerelement über die LVS_SORTASCENDING - oder LVS_SORTDESCENDING-Format verfügt.
cchTextMax
Typ: int
Anzahl der TCHAR-Werte im Puffer, auf den von pszText verwiesen wird, einschließlich des beendenden 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_INSERTITEM ignoriert. Es ist schreibgeschützt während LVN_GETDISPINFO und anderer LVN_ Benachrichtigungen.
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 es sich bei diesem Member um den I_IMAGECALLBACK Wert handelt, 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 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 zum Einzug des Elements. 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 |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für