Partilhar via


CHeaderCtrl::HitTest

Determina qual item de cabeçalho, se houver, ele está localizado em um ponto específico.

int HitTest(
    LPHDHITTESTINFO* phdhti
);

Parâmetros

Parâmetro

Descrição

Em, [out] phdhti

O ponteiro a estrutura de HDHITTESTINFO que especifica o ponto para testar e receber os resultados de teste.

Valor de retorno

O índice com base zero de item de cabeçalho, se houver, na posição especificada; caso contrário, – 1.

Comentários

Este método envia a mensagem de HDM_HITTEST , que é descrita em Windows SDK.

Requisitos

Cabeçalho: afxcmn.h

Este método é suportado no Windows NT 3,51 e versões posteriores.

Exemplo

O exemplo de código a seguir define a variável, m_headerCtrl, que é usada para acessar o controle de cabeçalho atual.Esta variável é usado no exemplo a seguir.

    CHeaderCtrl m_headerCtrl;
    CSplitButton m_splitButton;

O exemplo de código demonstra o método de HitTest .Em uma seção anterior de este exemplo de código, nós criaremos um controle de cabeçalho com as cinco colunas.Em o entanto, você pode arrastar um separador de coluna para que a coluna não está visível.Este exemplo informa o índice da coluna se é visível e -1 se a coluna não estiver visível.

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"));
}

Consulte também

Referência

Classe de CHeaderCtrl

Gráfico de hierarquia

HDM_HITTEST

HDHITTESTINFO