CListBox::CompareItem
Chamado pela estrutura para determinar a posição relativa de um novo item em uma caixa de lista classificada do proprietário.
virtual int CompareItem(
LPCOMPAREITEMSTRUCT lpCompareItemStruct
);
Parâmetros
- lpCompareItemStruct
Um ponteiro ao longo de uma estrutura COMPAREITEMSTRUCT .
Valor de retorno
Indica a posição relativa dos dois itens descritos na estrutura de COMPAREITEMSTRUCT .Pode ser qualquer um dos seguintes valores:
Valor |
Significado |
---|---|
–1 |
Tipos de item 1 antes de item 2. |
0 |
Tipo de item de item 1 e 2 o mesmo. |
1 |
Tipos de item 1 após o item 2. |
Consulte CWnd::OnCompareItem para uma descrição da estrutura de COMPAREITEMSTRUCT .
Comentários
Por padrão, essa função de membro não fará nada.Se você criar uma caixa de lista do proprietário com o estilo de LBS_SORT , você deve substituir essa função de membro para ajudar a estrutura em classificar os 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