Поделиться через


макрос ListView_SortItems (commctrl.h)

Использует функцию сравнения, определяемую приложением, для сортировки элементов элемента управления представлением списка. Индекс каждого элемента изменяется в соответствии с новой последовательностью. Этот макрос можно использовать или явно отправить сообщение LVM_SORTITEMS.

Синтаксис

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

Параметры

hwndLV

Тип: HWND

Дескриптор элемента управления "Представление списка".

_pfnCompare

Тип: PFNLVCOMPARE

Указатель на определяемую приложением функцию сравнения. Функция сравнения вызывается во время операции сортировки при каждом сравнении относительного порядка двух элементов списка.

_lPrm

Тип: LPARAM

Определяемое приложением значение, переданное функции сравнения.

Возвращаемое значение

Тип: BOOL

Возвращает TRUE, если выполнено успешно или FALSE в противном случае.

Замечания

Функция сравнения имеет следующую форму.

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

Параметр lParam1 — это значение, связанное с сравниваемого первого элемента; и параметр lParam2 — это значение, связанное со вторым элементом. Это значения, указанные в lParam элемент структуры LVITE M элементов при их вставке в список. Параметр _lPrm совпадает со значением, переданным в сообщение LVM_SORTITEMS.

Функция сравнения должна возвращать отрицательное значение, если первый элемент должен предшествовать второму, положительное значение, если первый элемент должен соответствовать второму или нулю, если два элемента эквивалентны.

Примечание во время процесса сортировки содержимое представления списка нестабильно. Если функция обратного вызова отправляет сообщения в элемент управления представлением списка, результаты непредсказуемы.
 

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка commctrl.h