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 Criar requisitos de 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));
}