CHeaderCtrl::GetOverflowRect
Obtiene el rectángulo delimitador del botón de desbordamiento del control de encabezado actual.
BOOL GetOverflowRect(
LPRECT lpRect
) const;
Parámetros
Parámetro |
Descripción |
---|---|
[out] lpRect |
Puntero a una estructura de RECT que recibe información del rectángulo delimitador. |
Valor devuelto
true si esta función es correcta; si no, false.
Comentarios
Si el control de encabezado contiene varios elementos que se pueden mostrar simultáneamente, el control puede mostrar un botón de desbordamiento que desplazarse a elementos que no están visibles. El control de encabezado debe tener los estilos de HDS_OVERFLOW y de HDF_SPLITBUTTON para mostrar el botón de desbordamiento. El rectángulo delimitador agrega el botón de desbordamiento y sólo existe cuando se muestra el botón de desbordamiento. Para obtener más información, vea Header Control Styles.
este método envía el mensaje de HDM_GETOVERFLOWRECT , que se describe en Windows SDK.
Requisitos
encabezado: afxcmn.h
Este control se admite en Windows Vista y posterior.
los requisitos adicionales para este método se describen en Requisitos de compilación para los controles comunes de Windows Vista.
Ejemplo
El ejemplo de código siguiente define la variable, m_headerCtrl, que se utiliza para tener acceso al control de encabezado actual. esta variable se utiliza en el ejemplo siguiente.
CHeaderCtrl m_headerCtrl;
CSplitButton m_splitButton;
En el ejemplo de código siguiente se muestra el método GetOverflowRect. En una sección de código anterior, creamos un control de encabezado con cinco columnas. Sin embargo, puede arrastrar un separador de columna de modo que la columna no está visible. Si algunas columnas no están visibles, el control de encabezado dibuja un botón de desbordamiento. El ejemplo de código siguiente se dibuja un rectángulo 3D alrededor de la ubicación del botón de desbordamiento.
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));
}