Compartilhar via


macro ListView_SortItemsEx (commctrl.h)

Usa uma função de comparação definida pelo aplicativo para classificar os itens de um controle de exibição de lista. O índice de cada item é alterado para refletir a nova sequência. Você pode usar essa macro ou enviar a mensagem LVM_SORTITEMSEX explicitamente.

Sintaxe

void ListView_SortItemsEx(
   hwndLV,
   _pfnCompare,
   _lPrm
);

Parâmetros

hwndLV

Tipo: HWND

Um identificador para o controle de exibição de lista.

_pfnCompare

Tipo: PFNLVCOMPARE

Um ponteiro para uma função de comparação definida pelo aplicativo. Ele é chamado durante a operação de classificação sempre que a ordem relativa de dois itens de lista precisa ser comparada.

_lPrm

Tipo: LPARAM

O valor definido pelo aplicativo que é passado para a função de comparação.

Retornar valor

Nenhum

Comentários

A função de comparação tem o seguinte formulário.

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

em que lParam1 é o índice do primeiro item e lParam2 o índice do segundo. O parâmetro lParamSort do ListView_SortItemsEx é passado para a função de retorno de chamada como seu terceiro parâmetro.

A função de comparação deverá retornar um valor negativo se o primeiro item deve preceder o segundo, um valor positivo se o primeiro item deve seguir o segundo ou zero se os dois itens forem equivalentes.

Você pode enviar uma mensagem LVM_GETITEMTEXT para recuperar mais informações sobre um item, se necessário.

Essa macro é semelhante a ListView_SortItems, exceto pelo tipo de informações passadas para a função de comparação. Com ListView_SortItemsEx, o índice do item é passado em vez de seu valor lparam .

Nota Durante o processo de classificação, o conteúdo de exibição de lista é instável. Se a função de retorno de chamada enviar mensagens para o controle de exibição de lista, além de LVM_GETITEM (ListView_GetItem), os resultados serão imprevisíveis.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho commctrl.h