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_ABOVE、 LVHT_BELOW、 LVHT_TOLEFT和结构的 flag 成员的 LVHT_TORIGHT 值确定移动列表视图控件的内容。 如果此位置是然后在工作区左边上,例如,两这些标志可以结合使用。
可以测试框架的 flag 成员的 LVHT_ONITEM 值确定特定位置是在列表视图项。 此值是按位或运算在 LVHT_ONITEMICON、 LVHT_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