다음을 통해 공유


CListCtrl::HitTest

된 경우 지정 된 위치에 있는 목록 보기 항목을 결정 합니다.

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

매개 변수

  • pHitTestInfo
    주소는 LVHITTESTINFO 적중 테스트 하 고 위치를 포함 하는 구조 적중된 테스트의 결과 대 한 정보를 받습니다.

  • pt
    테스트할 점입니다.

  • pFlags
    테스트 결과 대 한 정보를 수신 하는 정수에 대 한 포인터입니다.내용은 플래그 소속은 LVHITTESTINFO 구조에 Windows SDK.

반환 값

지정 된 위치에 있는 항목의 인덱스 pHitTestInfo있는 경우, 또는 그렇지 않으면-1입니다.

설명

사용할 수는 LVHT_ABOVE, LVHT_BELOW, LVHT_TOLEFT, 및 LVHT_TORIGHT 구조체의 값 플래그 구성원 목록 뷰 컨트롤의 내용을 스크롤할 것인지 결정 합니다.위치 및 클라이언트 영역의 왼쪽 위에 있으면 이러한 플래그 2, 예를 들어, 결합할 수 있습니다.

테스트할 수 있습니다는 LVHT_ONITEM 구조체의 값이 플래그 멤버를 지정 된 위치 목록 보기 항목 위에 있는지 확인 합니다.이 값은 비트 OR 작업입니다는 LVHT_ONITEMICON, LVHT_ONITEMLABEL, 및 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;
}

요구 사항

헤더: afxcmn.h

참고 항목

참조

CListCtrl 클래스

계층 구조 차트

CListCtrl::GetItemPosition