Share via


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
LVIF_COLFMT
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.
LVIF_COLUMNS
Der cColumns-Member ist gültig oder muss festgelegt werden.
LVIF_DI_SETITEM
Das Betriebssystem sollte die angeforderten Listenelementinformationen speichern und nicht erneut anfordern. Dieses Flag wird nur mit dem LVN_GETDISPINFO Benachrichtigungscode verwendet.
LVIF_GROUPID
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.
LVIF_IMAGE
Das iImage-Element ist gültig oder muss festgelegt werden.
LVIF_INDENT
Der iIndent-Member ist gültig oder muss festgelegt werden.
LVIF_NORECOMPUTE
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.
LVIF_PARAM
Das lParam-Element ist gültig oder muss festgelegt werden.
LVIF_STATE
Das Staatsmitglied ist gültig oder muss festgelegt werden.
LVIF_TEXT
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.

Hinweis Kopieren Sie während einer LVN_ Benachrichtigung niemals mehr als cchTextMaxTCHAR s ( wobei cchTextMax den beendenden NULL-Wert enthält) in pszText. Andernfalls kann ihr Programm fehlschlagen.
 

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
I_GROUPIDCALLBACK
Das Listview-Steuerelement sendet dem übergeordneten Element einen LVN_GETDISPINFO Benachrichtigungscode, um den Index der Gruppe abzurufen.
I_GROUPIDNONE
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.

Wert Bedeutung
LVCFMT_LINE_BREAK
Erzwingt, dass die Spalte an den Anfang der nächsten Spaltenliste umgebrochen wird.
LVCFMT_FILL
Füllt den Rest des Kachelbereichs aus. Kann einen Titel haben.
LVCFMT_WRAP
Ermöglicht es der Spalte, innerhalb des verbleibenden Platzes in der Liste der Spalten umzuschließen.
LVCFMT_NO_TITLE
Entfernt den Titel aus dem Unterelement.
LVCFMT_TILE_PLACEMENTMASK
Entspricht einer Kombination aus LVCFMT_LINE_BREAK und LVCFMT_FILL.

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.

Beachten Sie Comctl32.dll Version 6 nicht verteilbar, aber in Windows oder höher enthalten ist. Um Comctl32.dll Version 6 zu verwenden, geben Sie sie in einem Manifest an. Weitere Informationen zu Manifesten finden Sie unter Aktivieren von visuellen Formatvorlagen.
 

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