Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Llamado por el marco para determinar la posición relativa de un nuevo elemento en un cuadro de lista ordenada de dibujo propietario.
virtual int CompareItem(
LPCOMPAREITEMSTRUCT lpCompareItemStruct
);
Parámetros
- lpCompareItemStruct
Un puntero largo en una estructura de COMPAREITEMSTRUCT .
Valor devuelto
Indica la posición relativa de los elementos descritos en la estructura de COMPAREITEMSTRUCT .Puede ser cualquiera de los valores siguientes:
Valor |
Significado |
|---|---|
–1 |
Ordena el punto 1 antes del punto 2. |
0 |
El punto 1 y el punto 2 ordenan igual. |
1 |
Ordena el punto 1 después del punto 2. |
Vea CWnd:: OnCompareItem para obtener una descripción de la estructura de COMPAREITEMSTRUCT .
Comentarios
De forma predeterminada, esta función miembro no hace nada.Si crea un cuadro de lista de dibujo propietario con el estilo de LBS_SORT , debe invalidar esta función miembro para ayudar al marco en los nuevos elementos de ordenación agregados al cuadro de lista.
Ejemplo
// 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
encabezado: afxwin.h