ListView_SortItemsEx Makro (commctrl.h)

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

Syntax

void ListView_SortItemsEx(
   hwndLV,
   _pfnCompare,
   _lPrm
);

Parameter

hwndLV

Typ: HWND

Ein Handle für das Listenansicht-Steuerelement.

_pfnCompare

Typ: PFNLVCOMPARE

Ein Zeiger auf eine anwendungsdefinierte Vergleichsfunktion. Es 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

Keine

Bemerkungen

Die Vergleichsfunktion hat die folgende Form.

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

Dabei ist lParam1 der Index des ersten Elements und lParam2 der Index des zweiten. Der lParamSort-Parameter des ListView_SortItemsEx wird als dritter Parameter an die Rückruffunktion übergeben.

Die Vergleichsfunktion muss einen negativen Wert zurückgeben, wenn das erste Element dem zweiten vorangestellt werden soll, einen positiven Wert, wenn das erste Element dem zweiten element folgen soll, oder null, 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_SortItemsEx wird der Index des Elements anstelle des lparam-Werts übergeben.

Hinweis Während des Sortierungsprozesses ist der Inhalt der Listenansicht instabil. Wenn die Rückruffunktion außer LVM_GETITEM (ListView_GetItem) Nachrichten an das Listenansichtssteuerelement sendet, sind die Ergebnisse unvorhersehbar.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile commctrl.h