Condividi tramite


CListBox::CompareItem

Chiamato dal framework per determinare la posizione relativa del nuovo elemento in una casella di riepilogo ordinata del disegno personalizzato.

virtual int CompareItem( 
   LPCOMPAREITEMSTRUCT lpCompareItemStruct  
);

Parametri

  • lpCompareItemStruct
    Un puntatore a una struttura COMPAREITEMSTRUCT.

Valore restituito

Indica la posizione relativa dei due elementi descritti nella struttura COMPAREITEMSTRUCT. Può essere uno dei seguenti valori:

Valore

Significato

–1

Ordina l'elemento 1 prima dell'elemento 2.

0

Ordinamento l'elemento 1 e l'elemento 2 lo stesso.

1

Ordina l'elemento 1 dopo l'elemento. 2.

Vedere CWnd::OnCompareItem per una descrizione della struttura COMPAREITEMSTRUCT.

Note

Per impostazione predefinita, questa funzione membro non esegue alcuna operazione. Se si crea una casella di riepilogo Owner Draw con lo stile LBS_SORT, è necessario eseguire l'override della funzione membro per soddisfare il framework ordinati gli elementi nuovi aggiunti alla casella di riepilogo.

Esempio

// 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);
}

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe CListBox

Grafico delle gerarchie

WM_COMPAREITEM

CWnd::OnCompareItem

CListBox::DrawItem

CListBox::MeasureItem

CListBox::DeleteItem