共用方式為


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 值判斷指定位置是否在清單檢視項目。 這個值是位元 OR 運算。 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