Udostępnij za pośrednictwem


CListCtrl::HitTest

Określa które elementu widoku listy, jeśli jest, w określonym położeniu.

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

Parametry

  • pHitTestInfo
    Adres LVHITTESTINFO strukturę, która zawiera stanowisko hit test i że odbiera informacje o wynikach testu trafienia.

  • pt
    Punkt badane.

  • pFlags
    Wskaźnik do liczby całkowitej, która odbiera informacje o wynikach badania.Patrz wyjaśnienia flagi członek LVHITTESTINFO struktury w Windows SDK.

Wartość zwracana

Indeks elementu pozycji określonej przez pHitTestInfo, jeśli są, lub inaczej -1.

Uwagi

Można użyć LVHT_ABOVE, LVHT_BELOW, LVHT_TOLEFT, i LVHT_TORIGHT wartości struktury Flaga Członkowskich do ustalenia, czy przewiń zawartość formantu widoku listy.Dwa z tych flag można łączyć, na przykład, jeśli pozycja jest powyżej i po lewej stronie obszaru klienta.

Można przetestować do LVHT_ONITEM wartość struktury Flaga Członkowskich czy danej pozycji jest za pośrednictwem elementu widoku listy.Ta wartość jest operacją logiczną lub na LVHT_ONITEMICON, LVHT_ONITEMLABEL, i LVHT_ONITEMSTATEICON wartości struktury Flaga Członkowskich.

Przykład

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

Wymagania

Nagłówek: afxcmn.h

Zobacz też

Informacje

Klasa CListCtrl

Wykres hierarchii

CListCtrl::GetItemPosition