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
LVIF_COLFMT
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.
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 danach fragen. 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 angenommen, dass der Wert von iGroupId I_GROUPIDCALLBACK ist.
LVIF_IMAGE
Das iImage-Element ist gültig oder muss festgelegt werden.
LVIF_INDENT
Das iIndent-Element 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
Der lParam-Member ist gültig oder muss festgelegt werden.
LVIF_STATE
Das Staatsmitglied ist gültig oder muss festgelegt werden.
LVIF_TEXT
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.

Hinweis Kopieren Sie während einer LVN_ Benachrichtigung niemals mehr als cchTextMaxTCHAR-Werte in pszText, wobei cchTextMax das beendende NULL enthält. 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 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
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