CListCtrl::HitTest

确定列表视图项目,如果有,在指定的位置。

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

参数

  • pHitTestInfo
    包含该位置命中 LVHITTESTINFO 结构的地址测试和获取有关命中测试的结果的信息。

  • pt
    要测试的点。

  • pFlags
    为获取有关测试结果的信息的整数的指针。 请参见 LVHITTESTINFO 结构的 flags 成员的说明。Windows SDK的。

返回值

项的索引。pHitTestInfo,甚至没有或-1指定的位置否则为。

备注

是否可以使用 LVHT_ABOVELVHT_BELOWLVHT_TOLEFT和结构的 flag 成员的 LVHT_TORIGHT 值确定移动列表视图控件的内容。 如果此位置是然后在工作区左边上,例如,两这些标志可以结合使用。

可以测试框架的 flag 成员的 LVHT_ONITEM 值确定特定位置是在列表视图项。 此值是按位或运算在 LVHT_ONITEMICONLVHT_ONITEMLABEL和结构的 flag 成员的 LVHT_ONITEMSTATEICON 值。

示例

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

要求

Header: afxcmn.h

请参见

参考

CListCtrl选件类

层次结构图

CListCtrl::GetItemPosition