다음을 통해 공유


CHeaderCtrl::HitTest

머리글 항목을 지정 된 지점에 있는 경우, 있는지 확인 합니다.

int HitTest(
    LPHDHITTESTINFO* phdhti
);

매개 변수

Parameter

설명

[in, out]phdhti

포인터는 HDHITTESTINFO 구조 테스트 하는 시점을 지정 하 고 테스트의 결과 받습니다.

반환 값

있을 경우 지정 된 위치에 머리글 항목의 인덱스입니다. 그렇지 않으면-1입니다.

설명

보내는이 메서드는 HDM_HITTEST 에서 설명 하는 메시지는 Windows SDK.

요구 사항

헤더: afxcmn.h

이 메서드는 Windows NT 3.51 및 나중에 지.

예제

다음 코드 예제에서는 변수를 정의 m_headerCtrl, 즉 현재 머리글 컨트롤에 액세스 하는 데 사용 합니다.이 변수는 다음 예제에 사용 됩니다.

    CHeaderCtrl m_headerCtrl;
    CSplitButton m_splitButton;

다음 코드 예제에서는 HitTest 메서드를 사용하는 방법을 보여 줍니다.이 코드 예제는 이전 단원에서 우리 다섯 개의 열 머리글 컨트롤 생성.그러나 열 수 있도록 해당 열 구분 기호를 끌 수 있습니다.표시 된 경우이 예제에서는 인덱스 열의 보고 및 열이 표시 되지 않으면-1입니다.

void CNVC_MFC_CHeaderCtrl_s4Dlg::OnXHittest()
{
    if (controlCreated == FALSE) {
        MessageBox(_T("Header control has not been created yet."));
        return;
    }
    // Initialize HDHITTESTINFO structure.
    HDHITTESTINFO hdHitIfo;
    memset(&hdHitIfo, 0, sizeof(HDHITTESTINFO));

    CString str;
    CRect rect;
    int iRetVal = -1;
    for(int i = 0; i < m_headerCtrl.GetItemCount(); i++)
    {
        m_headerCtrl.GetItemRect(i, &rect);
        hdHitIfo.pt = rect.CenterPoint();
        // The hit test depends on whether the header item is visible.
        iRetVal = m_headerCtrl.HitTest(&hdHitIfo);
        str.AppendFormat(_T("Item = %d, Hit item = %d\n"), i, iRetVal);
    }
    MessageBox(str, _T("Hit test results"));
}

참고 항목

참조

CHeaderCtrl 클래스

계층 구조 차트

HDM_HITTEST

HDHITTESTINFO