Partilhar via


CHeaderCtrl::GetOverflowRect

Obtém o retângulo delimitador do botão de estouro de controle de cabeçalho atual.

BOOL GetOverflowRect(
     LPRECT lpRect
) const;

Parâmetros

Parâmetro

Descrição

[out] lpRect

Ponteiro a estrutura de RECT que recebe informações do retângulo delimitador.

Valor de retorno

true se essa função é com êxito; caso contrário, false.

Comentários

Se o controle de cabeçalho contém mais itens do que pode ser exibido simultaneamente, o controle pode exibir um botão de excedentes que rola para itens que não são visíveis. O controle cabeçalho deve ter os estilos de HDS_OVERFLOW e de HDF_SPLITBUTTON para exibir o botão de excedentes. O retângulo delimitador inclui o botão de excedentes e existe somente quando o botão de excedentes é exibido. Para mais informações, consulte Header Control Styles.

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

Requisitos

Cabeçalho: afxcmn.h

Esse controle é suportado em Windows Vista e posteriormente.

Os requisitos adicionais para o método são descritos em Requisitos de compilação para controles comuns do Windows Vista.

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 GetOverflowRect . Em uma seção anterior 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. Se algumas colunas não são visíveis, o controle de cabeçalho desenha um botão de excedentes. O exemplo de código a seguir desenha um retângulo 3D em torno do local do botão excedentes.

void CNVC_MFC_CHeaderCtrl_s4Dlg::OnXGetoverflowrect()
{
    if (controlCreated == FALSE) {
        MessageBox(_T("Header control has not been created yet."));
        return;
    }
    CRect rect;
    // Get the overflow rectangle.
    BOOL bRetVal = m_headerCtrl.GetOverflowRect(&rect);
    // Get the device context.
    CDC* pDC = m_headerCtrl.GetDC();
    // Draw around the overflow rect a rectangle that has red  
    // left and top sides, and green right and bottom sides.
    pDC->Draw3dRect(rect, RGB(255, 0, 0), RGB(0, 255, 0));
}

Consulte também

Referência

Classe CHeaderCtrl

Gráfico da hierarquia

HDM_GETOVERFLOWRECT

RECT