Compartilhar via


ListView_SortItemsEx macro (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

BOOL ListView_SortItemsEx(
   HWND         hwndLV,
   PFNLVCOMPARE _pfnCompare,
   LPARAM       _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.

Valor de retorno

Tipo: BOOL

Retorna TRUE se tiver êxito ou false caso contrário.

Observações

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

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

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

A função de comparação deve 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ção passada para a função de comparação. Com ListView_SortItemsEx, o índice do item é passado em vez de seu valor lparam.

Observação 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
de cliente com suporte mínimo Windows Vista [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho commctrl.h