CListCtrl::HitTest

Bestimmt, die Listenansichtelement (sofern vorhanden) in einer angegebenen Position befindet.

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

Parameter

  • pHitTestInfo
    Adresse einer LVHITTESTINFO-Struktur, die die Position für den Treffertest enthält und die Informationen über die Ergebnisse des Treffertests abruft.

  • pt
    Getestet werden Punkt.

  • pFlags
    Zeiger auf eine ganze Zahl, die Informationen über die Ergebnisse des Tests abruft.Siehe die Erklärung des flags Mitglieds der LVHITTESTINFO-Struktur in Windows SDK.

Rückgabewert

Der Index des Elements in der durch angegebenen Position pHitTestInfo, sofern oder andernfalls -1.

Hinweise

Sie können LVHT_ABOVE, LVHT_BELOW, LVHT_TOLEFT und LVHT_TORIGHT-Werte des flag Mitglieds der Struktur verwenden, um zu bestimmen, ob der Inhalt eines Listenansicht-Steuerelements durch.Zwei dieser Flags können kombiniert werden beispielsweise wenn die Position über und links neben dem Innenbereich ist.

Sie können für den LVHT_ONITEM-Wert des flag Mitglieds der Struktur testen, um zu ermitteln, ob einer bestimmten Position zu einem Listenansichtelement ist.Dieser Wert ist eine bitweise OR-Operation für LVHT_ONITEMICON, LVHT_ONITEMLABEL und LVHT_ONITEMSTATEICON-Werten des flag Mitglieds der Struktur.

Beispiel

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

Anforderungen

Header: afxcmn.h

Siehe auch

Referenz

CListCtrl-Klasse

Hierarchien-Diagramm

CListCtrl::GetItemPosition