CListCtrl::HitTest

Determina la voce della visualizzazione elenco, se presente, è in un percorso specificato.

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

Parametri

  • pHitTestInfo
    Indirizzo di una struttura LVHITTESTINFO contenente la posizione a hit testing e che riceve informazioni sui risultati dell'hit test.

  • pt
    Punto da sottoporre a test.

  • pFlags
    Puntatore a un intero che riceve informazioni sui risultati del test.Vedere la descrizione del membro flag della struttura LVHITTESTINFO in Windows SDK.

Valore restituito

L'indice dell'elemento nella posizione specificata da pHitTestInfo, se disponibile, o da -1 in caso contrario.

Note

È possibile utilizzare LVHT_ABOVE, LVHT_BELOW, LVHT_TOLEFTe i valori LVHT_TORIGHT del membro flag della struttura per determinare se scorrere il contenuto di un controllo visualizzazione elenco.Due di questi flag possono essere combinati, ad esempio, se la posizione è sopra e a sinistra dell'area client.

È possibile testare il valore LVHT_ONITEM del membro flag della struttura per determinare se una posizione specificata supera una voce della visualizzazione elenco.Questo valore è un'operazione OR bit per bit su LVHT_ONITEMICON, in LVHT_ONITEMLABELe su valori LVHT_ONITEMSTATEICON del membro flag della struttura.

Esempio

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

Requisiti

Header: afxcmn.h

Vedere anche

Riferimenti

Classe di CListCtrl

Grafico della gerarchia

CListCtrl::GetItemPosition