Share via


CListCtrl::HitTest

Determina que el elemento de vista de lista, si existe, en una posición especificada.

int HitTest(
   LVHITTESTINFO* pHitTestInfo 
) const;
int HitTest(
   CPoint pt,
   UINT* pFlags = NULL 
) const;

Parámetros

  • pHitTestInfo
    Dirección de una estructura de LVHITTESTINFO que contiene la posición a la prueba de posicionamiento y que recibe información sobre los resultados de pruebas de posicionamiento.

  • pt
    Punto que se va a probar.

  • pFlags
    Puntero a un entero que recibe información sobre los resultados de pruebas.Vea la explicación del miembro de marcas de la estructura de LVHITTESTINFO en Windows SDK.

Valor devuelto

El índice del elemento en la posición especificada por pHitTestInfo, si existe, o -1 de otra manera.

Comentarios

Puede utilizar LVHT_ABOVE, LVHT_BELOW, LVHT_TOLEFT, y los valores de LVHT_TORIGHT miembro de flag de estructura para determinar si desplazar el contenido de un control de vista de lista.Dos de estos marcadores se pueden combinar, por ejemplo, si la posición es sobre y a la izquierda del área cliente.

Puede probar el valor de LVHT_ONITEM miembro de flag de estructura para determinar si una posición especificada es sobre un elemento de la vista de lista.Este valor es a bit a bit- OR operación en LVHT_ONITEMICON, LVHT_ONITEMLABEL, y los valores de LVHT_ONITEMSTATEICON miembro de flag de la estructura.

Ejemplo

void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
    CPoint point(pia->ptAction);

    // Select the item the user clicked on.
    UINT uFlags;
    int nItem = m_myListCtrl.HitTest(point, &uFlags);

    if (uFlags & LVHT_ONITEMLABEL)
    {
        m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED, 
            LVIS_SELECTED, 0);
    }

    *pResult = 0;
}

Requisitos

encabezado: afxcmn.h

Vea también

Referencia

Clase de CListCtrl

Gráfico de jerarquía

CListCtrl::GetItemPosition