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


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

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

Синтаксис

BOOL ListView_SortItemsEx(
   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 индекс второго. Параметр _lPrmListView_SortItemsExпередается функции обратного вызова в качестве третьего параметра.

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

При необходимости можно отправить сообщение LVM_GETITEMTEXT, чтобы получить дополнительные сведения о элементе.

Этот макрос аналогичен ListView_SortItems, за исключением типа информации, переданной функции сравнения. При использовании ListView_SortItemsExиндекс элемента передается вместо значения lparam.

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

Требования

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