Partilhar via


CListCtrl::SortItems

Itens de exibição de lista de tipos usando uma função application-defined de comparação.

BOOL SortItems(
   PFNLVCOMPARE pfnCompare,
   DWORD_PTR dwData 
);

Parâmetros

  • [in] pfnCompare
    Endereço de função application-defined de comparação.

    A operação de tipo chama a função de comparação cada vez que o pedido relativo de dois itens de lista precisa ser determinado. A função de comparação deve ser um membro estático de uma classe ou uma função autônomo que não seja um membro de nenhuma classe.

  • [in] dwData
    Valor definido que é passado para a função de comparação.

Valor de retorno

true se o método com êxito; se não false.

Comentários

Este método altera o índice de cada item para refletir a nova seqüência.

A função de comparação, pfnCompare, tem a seguinte forma:

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

A função de comparação deve retornar um valor negativo se o primeiro item preceder o segundo, um valor positivo se o primeiro item e o segundo, ou zera se os dois itens são iguais.

o parâmetro de lParam1 é o valor de 32 bits associado com o primeiro item que é comparado, e o parâmetro de lParam2 é o valor associado com o segundo item. Estes são os valores que foram especificados em lParam membro de estrutura de LVITEM de itens quando foram inseridos na lista. o parâmetro de lParamSort é o mesmo que o valor de dwData .

Este método envia a mensagem de LVM_SORTITEMS , que é descrita em Windows SDK.

Exemplo

O exemplo a seguir é uma função simples de comparação que resulta nos itens que estão sendo classificados por seus valores de lParam .

// Sort items by associated lParam 
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2, 
    LPARAM lParamSort)
{
    UNREFERENCED_PARAMETER(lParamSort);

    return (int)(lParam1 - lParam2);
}
// Sort the items by passing in the comparison function. 
void CListCtrlDlg::Sort()
{
    m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}

Requisitos

Cabeçalho: afxcmn.h

Esse controle é suportado no Windows NT 3,51 ou posterior.

Consulte também

Referência

Classe CListCtrl

Gráfico da hierarquia

CListCtrl::FindItem

CListCtrl::SortItemsEx