ListView_SortItemsEx巨集 (commctrl.h)
使用應用程式定義的比較函式來排序列表檢視控件的專案。 每個專案的索引會變更以反映新序列。 您可以使用此巨集或明確傳送 LVM_SORTITEMSEX 訊息。
語法
BOOL ListView_SortItemsEx(
HWND hwndLV,
PFNLVCOMPARE _pfnCompare,
LPARAM _lPrm
);
參數
hwndLV
類型:HWND
清單檢視控件的句柄。
_pfnCompare
類型:PFNLVCOMPARE
應用程式定義的比較函式指標。 每次需要比較兩個清單項目的相對順序時,都會在排序作業期間呼叫它。
_lPrm
類型:LPARAM
傳遞至比較函式的應用程式定義值。
傳回值
類型:BOOL
如果成功,則傳回 true true,否則會 傳回 false。
言論
比較函式的格式如下。
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM _lPrm);
其中 lParam1 是第一個專案的索引,lParam2 第二個專案的索引。 ListView_SortItemsEx的 _lPrm 參數會當做第三個參數傳遞至回呼函式。
如果第一個專案應位於第二個專案之前,則比較函式必須傳回負值、如果第一個項目應該遵循第二個專案,則傳回正值,如果兩個專案相等,則傳回零。
您可以視需要傳送 LVM_GETITEMTEXT 訊息,以擷取專案的詳細資訊。
這個巨集類似於 ListView_SortItems,但傳遞至比較函式的信息類型除外。 使用 ListView_SortItemsEx時,會傳遞專案的索引,而不是其 lparam 值。
注意 排序程序期間,清單檢視內容不穩定。 如果回呼函式除了 LVM_GETITEM (ListView_GetItem) 之外,將任何訊息傳送至清單檢視控件,則結果無法預測。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | commctrl.h |