CHeaderCtrl::GetOverflowRect
Obtém o retângulo delimitador do botão de estouro do controle de cabeçalho corrente.
BOOL GetOverflowRect(
LPRECT lpRect
) const;
Parâmetros
Parâmetro |
Descrição |
---|---|
[out] lpRect |
Ponteiro para um RECT estrutura que recebe as informações do retângulo delimitador. |
Valor de retorno
true Se essa função for bem-sucedida; caso contrário, false.
Comentários
Se o controle de cabeçalho contém mais itens que podem ser exibidos ao mesmo tempo, o controle pode exibir um botão de estouro rola a itens que não estão visíveis.O controle de cabeçalho deve ter o HDS_OVERFLOW e HDF_SPLITBUTTON estilos para exibir o botão de estouro. O retângulo delimitador inclui o botão de estouro e existe somente quando o botão de estouro é exibido.Para obter mais informações, consulte Header Control Styles.
Esse método envia o HDM_GETOVERFLOWRECT mensagem, que é descrita no Windows SDK.
Requisitos
Cabeçalho: afxcmn.h
Este controle é suportado no Windows Vista e mais recente.
Requisitos adicionais para este método são descritos em compilação Requisitos para controles comuns do Windows Vista.
Exemplo
O exemplo de código a seguir define a variável, m_headerCtrl, que é usado para acessar o controle de cabeçalho corrente. Essa variável é usada no exemplo a seguir.
CHeaderCtrl m_headerCtrl;
CSplitButton m_splitButton;
O exemplo de código a seguir demonstra o GetOverflowRect método. Em uma seção do código anterior, criamos um controle de cabeçalho com cinco colunas.No entanto, você pode arrastar um separador de coluna para que a coluna não fique visível.Se algumas colunas não estiverem visíveis, o controle de cabeçalho desenha um botão de estouro.O exemplo de código a seguir desenha um retângulo 3D em todo o local do botão de estouro.
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));
}