Condividi tramite


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 CListCtrl

Grafico delle gerarchie

CListCtrl::GetItemPosition