ListView_SortItemsEx Makro (commctrl.h)

Verwendet eine anwendungsdefinierte Vergleichsfunktion, um die Elemente eines Listenansichtssteuerelements zu sortieren. Der Index der einzelnen Elemente ändert sich, um die neue Sequenz widerzuspiegeln. Sie können dieses Makro verwenden oder die LVM_SORTITEMSEX Nachricht explizit senden.

Syntax

BOOL ListView_SortItemsEx(
   HWND         hwndLV,
   PFNLVCOMPARE _pfnCompare,
   LPARAM       _lPrm
);

Parameter

hwndLV

Typ: HWND-

Ein Handle für das Listenansicht-Steuerelement.

_pfnCompare

Typ: PFNLVCOMPARE

Ein Zeiger auf eine anwendungsdefinierte Vergleichsfunktion. Sie wird während des Sortiervorgangs jedes Mal aufgerufen, wenn die relative Reihenfolge von zwei Listenelementen verglichen werden muss.

_lPrm

Typ: LPARAM-

Der anwendungsdefinierte Wert, der an die Vergleichsfunktion übergeben wird.

Rückgabewert

Typ: BOOL-

Gibt TRUE zurück, wenn dies erfolgreich ist, oder FALSE andernfalls.

Bemerkungen

Die Vergleichsfunktion weist das folgende Formular auf.

int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM _lPrm);

wobei lParam1 der Index des ersten Elements ist und lParam2 den Index des zweiten. Der ListView_SortItemsEx_lPrm-Parameter wird als dritter Parameter an die Rückruffunktion übergeben.

Die Vergleichsfunktion muss einen negativen Wert zurückgeben, wenn dem zweiten Element ein positiver Wert vorangestellt werden soll, wenn das erste Element auf die zweite oder null folgen soll, wenn die beiden Elemente gleichwertig sind.

Sie können bei Bedarf eine LVM_GETITEMTEXT Nachricht senden, um weitere Informationen zu einem Element abzurufen.

Dieses Makro ähnelt ListView_SortItems, mit Ausnahme des Informationstyps, der an die Vergleichsfunktion übergeben wird. Bei ListView_SortItemsExwird der Index des Elements anstelle des lparam- Werts übergeben.

Hinweis Während des Sortiervorgangs sind die Listenansichtsinhalte instabil. Wenn die Rückruffunktion Nachrichten an das Listenansicht-Steuerelement sendet, abgesehen von LVM_GETITEM (ListView_GetItem), sind die Ergebnisse unvorhersehbar.
 

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- commctrl.h