CListBox::CompareItem
Chamado pela estrutura para determinar a posição relativa de um novo item em um desenho proprietário classificada lista caixa.
virtual int CompareItem(
LPCOMPAREITEMSTRUCT lpCompareItemStruct
);
Parâmetros
- lpCompareItemStruct
Um ponteiro para um longoCOMPAREITEMSTRUCT estrutura.
Valor de retorno
Indica a posição relativa dos dois itens descrito o COMPAREITEMSTRUCT estrutura.Pode ser qualquer um dos seguintes valores:
Valor |
Significado |
---|---|
–1 |
Classifica o item 1 antes de item 2. |
0 |
O item 1 e item 2 classificar o mesmo. |
1 |
Classifica o item 1 após o item 2. |
See CWnd::OnCompareItem para obter uma descrição do COMPAREITEMSTRUCT estrutura.
Comentários
Por padrão, essa função de membro não faz nada.Se você criar uma caixa de listagem de desenho proprietário com o LBS_SORT estilo, você deve substituir essa função de membro para ajudar a estrutura de classificação de novos itens adicionados à caixa de listagem.
Exemplo
// CMyODListBox is my owner-drawn list box derived from CListBox. This
// example compares two items using _tcscmp to sort items in reverse
// alphabetical order. The list box control was created with the
// following code:
// m_myODListBox.Create(
// WS_CHILD|WS_VISIBLE|WS_BORDER|WS_HSCROLL|WS_VSCROLL|
// LBS_SORT|LBS_MULTIPLESEL|LBS_OWNERDRAWVARIABLE|LBS_WANTKEYBOARDINPUT,
// CRect(10,250,200,450), pParentWnd, IDC_MYODLISTBOX);
//
int CMyODListBox::CompareItem(LPCOMPAREITEMSTRUCT lpCompareItemStruct)
{
ASSERT(lpCompareItemStruct->CtlType == ODT_LISTBOX);
LPCTSTR lpszText1 = (LPCTSTR) lpCompareItemStruct->itemData1;
ASSERT(lpszText1 != NULL);
LPCTSTR lpszText2 = (LPCTSTR) lpCompareItemStruct->itemData2;
ASSERT(lpszText2 != NULL);
return _tcscmp(lpszText2, lpszText1);
}
Requisitos
Cabeçalho: afxwin.h