ListView_SortItemsEx makro (commctrl.h)

Menggunakan fungsi perbandingan yang ditentukan aplikasi untuk mengurutkan item kontrol tampilan daftar. Indeks setiap item berubah untuk mencerminkan urutan baru. Anda dapat menggunakan makro ini atau mengirim pesan LVM_SORTITEMSEX secara eksplisit.

Sintaks

void ListView_SortItemsEx(
   hwndLV,
   _pfnCompare,
   _lPrm
);

Parameter

hwndLV

Jenis: HWND

Handel ke kontrol tampilan daftar.

_pfnCompare

Jenis: PFNLVCOMPARE

Penunjuk ke fungsi perbandingan yang ditentukan aplikasi. Ini dipanggil selama operasi pengurutan setiap kali urutan relatif dari dua item daftar perlu dibandingkan.

_lPrm

Jenis: LPARAM

Nilai yang ditentukan aplikasi yang diteruskan ke fungsi perbandingan.

Mengembalikan nilai

Tidak ada

Keterangan

Fungsi perbandingan memiliki formulir berikut.

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

di mana lParam1 adalah indeks item pertama dan lParam2 indeks kedua. Parameter lParamSortListView_SortItemsEx diteruskan ke fungsi panggilan balik sebagai parameter ketiganya.

Fungsi perbandingan harus mengembalikan nilai negatif jika item pertama harus mendahului yang kedua, nilai positif jika item pertama harus mengikuti item kedua, atau nol jika dua item tersebut setara.

Anda dapat mengirim pesan LVM_GETITEMTEXT untuk mengambil informasi lebih lanjut tentang item, jika diperlukan.

Makro ini mirip dengan ListView_SortItems, kecuali untuk jenis informasi yang diteruskan ke fungsi perbandingan. Dengan ListView_SortItemsEx, indeks item diteruskan alih-alih nilai lparam-nya .

Catatan Selama proses pengurutan, konten tampilan daftar tidak stabil. Jika fungsi panggilan balik mengirim pesan apa pun ke kontrol tampilan daftar selain dari LVM_GETITEM (ListView_GetItem), hasilnya tidak dapat diprediksi.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header commctrl.h