共用方式為


CHeaderCtrl::HitTest

判斷標題項目,如果有的話,位於指定的點。

int HitTest(
    LPHDHITTESTINFO* phdhti
);

參數

參數

描述

[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