CReBarCtrl (clase)

Encapsula la funcionalidad de un control rebar, que es un contenedor para una ventana secundaria.

Sintaxis

class CReBarCtrl : public CWnd

Miembros

Constructores públicos

Nombre Descripción
CReBarCtrl::CReBarCtrl Construye un objeto CReBarCtrl.

Métodos públicos

Nombre Descripción
CReBarCtrl::BeginDrag Coloca el control rebar en modo de arrastrar y colocar.
CReBarCtrl::Create Crea el control rebar y lo asocia al objeto CReBarCtrl.
CReBarCtrl::CreateEx Crea un control rebar con los estilos extendidos de Windows especificados y lo adjunta a un objeto CReBarCtrl.
CReBarCtrl::DeleteBand Elimina una banda de un control rebar.
CReBarCtrl::DragMove Actualiza la posición de arrastre en el control rebar después de una llamada a BeginDrag.
CReBarCtrl::EndDrag Finaliza la operación de arrastrar y colocar del control rebar.
CReBarCtrl::GetBandBorders Recupera los bordes de una banda.
CReBarCtrl::GetBandCount Recupera el recuento de bandas actualmente en el control rebar.
CReBarCtrl::GetBandInfo Recupera información sobre una banda especificada en un control rebar.
CReBarCtrl::GetBandMargins Recupera los márgenes de una banda.
CReBarCtrl::GetBarHeight Recupera el alto del control rebar.
CReBarCtrl::GetBarInfo Recupera información sobre el control rebar y la lista de imágenes que utiliza.
CReBarCtrl::GetBkColor Recupera el color de fondo predeterminado de un control rebar.
CReBarCtrl::GetColorScheme Recupera la estructura COLORSCHEME asociada al control rebar.
CReBarCtrl::GetDropTarget Recupera un puntero de interfaz IDropTarget de un control de barra.
CReBarCtrl::GetExtendedStyle Obtiene el estilo extendido del control rebar actual.
CReBarCtrl::GetImageList Recupera la lista de imágenes asociada a un control rebar.
CReBarCtrl::GetPalette Recupera la paleta actual del control rebar.
CReBarCtrl::GetRect Recupera el rectángulo delimitador de una banda determinada en un control rebar.
CReBarCtrl::GetRowCount Recupera el número de filas de banda en un control rebar.
CReBarCtrl::GetRowHeight Recupera la altura de una fila especificada en un control rebar.
CReBarCtrl::GetTextColor Recupera el color de texto predeterminado de un control rebar.
CReBarCtrl::GetToolTips Recupera el manipulador de cualquier control de información sobre herramientas asociado al control rebar.
CReBarCtrl::HitTest Determina qué parte de una banda de rebar se encuentra en un punto determinado de la pantalla si existe una banda de rebar en ese punto.
CReBarCtrl::IDToIndex Convierte un identificador de banda (ID) en un índice de banda en un control rebar.
CReBarCtrl::InsertBand Inserta una nueva banda en un control rebar.
CReBarCtrl::MaximizeBand Cambia el tamaño de una banda de un control rebar a su tamaño más grande.
CReBarCtrl::MinimizeBand Cambia el tamaño de una banda de un control rebar a su tamaño más pequeño.
CReBarCtrl::MoveBand Mueve una banda de un índice a otro.
CReBarCtrl::PushChevron Inserta mediante programación un botón de contenido adicional.
CReBarCtrl::RestoreBand Cambia el tamaño de una banda de un control rebar a su tamaño ideal.
CReBarCtrl::SetBandInfo Establece las características de una banda existente en un control rebar.
CReBarCtrl::SetBandWidth Establece el ancho de la banda acoplada especificada en el control rebar actual.
CReBarCtrl::SetBarInfo Establece las características de un control rebar.
CReBarCtrl::SetBkColor Establece el color de fondo predeterminado de un control rebar.
CReBarCtrl::SetColorScheme Establece la combinación de colores para los botones de un control rebar.
CReBarCtrl::SetExtendedStyle Obtiene los estilos extendidos del control rebar actual.
CReBarCtrl::SetImageList Establece la lista de imágenes de un control rebar.
CReBarCtrl::SetOwner Establece la ventana de propietario de un control rebar.
CReBarCtrl::SetPalette Establece la paleta actual del control rebar.
CReBarCtrl::SetTextColor Establece el color de texto predeterminado de un control rebar.
CReBarCtrl::SetToolTips Asocia un control de información sobre herramientas con el control rebar.
CReBarCtrl::SetWindowTheme Establece el estilo visual del control rebar.
CReBarCtrl::ShowBand Muestra u oculta una banda determinada en un control rebar.
CReBarCtrl::SizeToRect Ajusta un control rebar a un rectángulo especificado.

Comentarios

La aplicación en la que reside el control rebar asigna la ventana secundaria contenida por el control rebar a la banda de rebar. La ventana secundaria suele ser otro control habitual.

Los controles rebar contienen una o varias bandas. Cada banda puede contener una combinación de una barra de agarre, un mapa de bits, una etiqueta de texto y una ventana secundaria. La banda solo puede contener uno de estos elementos.

El control rebar puede mostrar la ventana secundaria en un mapa de bits de fondo especificado. Todas las bandas del control rebar se pueden cambiar de tamaño, excepto las que usan el estilo RBBS_FIXEDSIZE. A medida que cambia la posición o cambia el tamaño de una banda de control rebar, el control rebar administra el tamaño y la posición de la ventana secundaria asignada a esa banda. Para cambiar el tamaño o cambiar el orden de las bandas dentro del control, haga clic y arrastre la barra de agarre de una banda.

En la ilustración siguiente se muestra un control rebar que tiene tres bandas:

  • La banda 0 contiene un control bar plana y transparente.

  • La banda 1 contiene botones estándar y desplegables transparentes.

  • La banda 2 contiene un cuadro combinado y cuatro botones estándar.

    Example of a Rebar menu.

Control rebar

Los controles rebar admiten:

  • Listas de imágenes.

  • Tratamiento de mensajes.

  • Funcionalidad de dibujo personalizada.

  • Una variedad de estilos de control además de estilos de ventana estándar. Para obtener una lista de estos estilos, consulte los estilos del control rebar en el SDK de Windows.

Para obtener más información, consulte Usar CReBarCtrl.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CReBarCtrl

Requisitos

Encabezado: afxcmn.h

CReBarCtrl::BeginDrag

Implementa el comportamiento del mensaje RB_BEGINDRAG de Win32, tal y como se describe en Windows SDK.

void BeginDrag(
    UINT uBand,
    DWORD dwPos = (DWORD)-1);

Parámetros

uBand
Índice de base cero de la banda a la que afectará la operación de arrastrar y colocar.

dwPos
Valor DWORD que contiene las coordenadas iniciales del mouse. La coordenada horizontal se encuentra en el LOWORD y la coordenada vertical se encuentra en el HIWORD. Si pasa (DWORD)-1, el control rebar usará la posición del mouse la última vez que se llama al subproceso del control GetMessage o PeekMessage.

CReBarCtrl::Create

Crea el control rebar y lo asocia al objeto CReBarCtrl.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parámetros

dwStyle
Especifica la combinación de estilos del control rebar aplicados al control. Para obtener una lista de estos estilos, consulte los estilos del control rebar en Windows SDK.

rect
Referencia a un objeto CRect o a una estructura RECT, que es la posición y el tamaño del control rebar.

pParentWnd
Puntero a un objeto CWnd que es la ventana primaria del control rebar. No debe ser NULL.

Nid
Especifica el identificador de control del control rebar.

Valor devuelto

El valor devuelto será distinto de cero si el objeto se crea correctamente; en caso contrario, será 0.

Comentarios

Cree un control rebar en dos pasos:

  1. Llame a CReBarCtrl para construir un objeto CReBarCtrl.

  2. Llame a esta función miembro, que crea el control rebar de Windows y lo adjunta al objeto CReBarCtrl.

Cuando se llama a Create, se inicializan los controles habituales.

Ejemplo

CReBarCtrl *pReBarCtrl = new CReBarCtrl();
CRect rect;
GetWindowRect(rect);
pReBarCtrl->Create(RBS_BANDBORDERS, rect, this, AFX_IDW_REBAR);

// Use ReBar Control.

delete pReBarCtrl;

CReBarCtrl::CreateEx

Esta función puede usarse para crear un control (una ventana secundaria) y asociarlo con el objeto CReBarCtrl.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parámetros

dwExStyle
El valor de este parámetro se usa para especificar el estilo extendido del control que se va a crear. Para ver una lista de estilos extendidos de Windows, consulte el parámetro dwExStyle para CreateWindowEx en Windows SDK.

dwStyle
Especifica la combinación de estilos del control rebar aplicados al control. Para obtener una lista de estilos compatibles, consulte los estilos del control rebar en Windows SDK.

rect
Referencia a una estructura RECT que describe el tamaño y la posición de la ventana que se va a crear, en coordenadas de cliente de pParentWnd.

pParentWnd
Un puntero a la ventana que constituye el elemento primario del control.

Nid
El identificador de ventana secundaria del control.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Use CreateEx en lugar de Create para aplicar estilos extendidos de Windows, especificados por el prefacio de estilo extendido de Windows WS_EX_.

CReBarCtrl::CReBarCtrl

Crea un objeto CReBarCtrl.

CReBarCtrl();

Ejemplo

Vea el ejemplo de CReBarCtrl::Create.

CReBarCtrl::DeleteBand

Implementa el comportamiento del mensaje RB_DELETEBAND de Win32, tal y como se describe en Windows SDK.

BOOL DeleteBand(UINT uBand);

Parámetros

uBand
Índice basado en cero de la banda que se va a eliminar.

Valor devuelto

Distinto de cero si la banda se eliminó correctamente; de lo contrario, cero.

Ejemplo

UINT nCount = m_wndReBar.GetReBarCtrl().GetBandCount();

if (nCount > 0)
   m_wndReBar.GetReBarCtrl().DeleteBand(nCount - 1);

CReBarCtrl::DragMove

Implementa el comportamiento del mensaje RB_DRAGMOVE, de Win32, tal y como se describe en Windows SDK.

void DragMove(DWORD dwPos = (DWORD)-1);

Parámetros

dwPos
Valor DWORD que contiene las nuevas coordenadas del mouse. La coordenada horizontal se encuentra en el LOWORD y la coordenada vertical se encuentra en el HIWORD. Si pasa (DWORD)-1, el control rebar usará la posición del mouse la última vez que se llama al subproceso del control GetMessage o PeekMessage.

CReBarCtrl::EndDrag

Implementa el comportamiento del mensaje RB_ENDDRAG de Win32, tal y como se describe en Windows SDK.

void EndDrag();

CReBarCtrl::GetBandBorders

Implementa el comportamiento del mensaje RB_GETBANDBORDERS de Win32, tal y como se describe en Windows SDK.

void GetBandBorders(
    UINT uBand,
    LPRECT prc) const;

Parámetros

uBand
Índice basado en cero de la banda para la que se recuperarán los bordes.

prc
Puntero a una estructura RECT que recibirá los bordes de banda. Si el control rebar tiene el estilo RBS_BANDBORDERS, cada miembro de esta estructura recibirá el número de píxeles, en el lado correspondiente de la banda, que constituye el borde. Si el control rebar no tiene el estilo RBS_BANDBORDERS, solo el miembro izquierdo de esta estructura recibe información válida. Para obtener una descripción de los estilos del control rebar, consulte los estilos del control rebar en Windows SDK.

CReBarCtrl::GetBandCount

Implementa el comportamiento del mensaje RB_GETBANDCOUNT de Win32, tal y como se describe en Windows SDK.

UINT GetBandCount() const;

Valor devuelto

Número de bandas asignadas al control.

CReBarCtrl::GetBandInfo

Implementa el comportamiento del mensaje RB_GETBANDINFO de Win32, tal y como se describe en Windows SDK.

BOOL GetBandInfo(
    UINT uBand,
    REBARBANDINFO* prbbi) const;

Parámetros

uBand
Índice basado en cero de la banda para la que se recuperará la información.

prbbi
Puntero a una estructura REBARBANDINFO para recibir la información de banda. Debe establecer el miembro cbSize de esta estructura en sizeof(REBARBANDINFO) y establecer el miembro fMask en los elementos que desea recuperar antes de enviar este mensaje.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

CReBarCtrl::GetBandMargins

Recupera los márgenes de la banda.

void GetBandMargins(PMARGINS pMargins);

Parámetros

pMargins
Puntero a una estructura MARGINSque recibirá la información.

Comentarios

Esta función miembro se usa para emular la funcionalidad del mensaje RB_GETBANDMARGINS, tal como se describe en Windows SDK.

CReBarCtrl::GetBarHeight

Recupera el alto del control rebar.

UINT GetBarHeight() const;

Valor devuelto

Valor que representa el alto, en píxeles, del control.

CReBarCtrl::GetBarInfo

Implementa el comportamiento del mensaje RB_GETBARINFO de Win32, tal y como se describe en Windows SDK.

BOOL GetBarInfo(REBARINFO* prbi) const;

Parámetros

prbi
Puntero a una estructura REBARINFO que recibirá la información del control rebar. Debe establecer el miembro cbSize de esta estructura en sizeof(REBARINFO) antes de enviar este mensaje.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

CReBarCtrl::GetBkColor

Implementa el comportamiento del mensaje RB_GETBKCOLOR de Win32, tal y como se describe en Windows SDK.

COLORREF GetBkColor() const;

Valor devuelto

Valor COLORREF que representa el color de fondo predeterminado actual.

CReBarCtrl::GetColorScheme

Recupera la estructura COLORSCHEME del control rebar.

BOOL GetColorScheme(COLORSCHEME* lpcs);

Parámetros

lpcs
Puntero a una estructura COLORSCHEME, como se describe en Windows SDK.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

Comentarios

La estructura COLORSCHEME incluye el color de resaltado del botón y el color de sombra del botón.

CReBarCtrl::GetDropTarget

Implementa el comportamiento del mensaje RB_GETDROPTARGET de Win32, tal y como se describe en Windows SDK.

IDropTarget* GetDropTarget() const;

Valor devuelto

Puntero a una interfaz IDropTarget.

CReBarCtrl::GetExtendedStyle

Obtiene los estilos extendidos del control rebar actual.

DWORD GetExtendedStyle() const;

Valor devuelto

Combinación bit a bit (OR) de marcas que indican los estilos extendidos. Las posibles marcas son RBS_EX_SPLITTER y RBS_EX_TRANSPARENT. Para obtener más información, consulte el parámetro dwMask del método CReBarCtrl::SetExtendedStyle.

Comentarios

Al usar este método, se envía el mensaje RB_GETEXTENDEDSTYLE, que se describe en Windows SDK.

CReBarCtrl::GetImageList

Obtiene el nombre del objeto CImageList asociado con un control rebar.

CImageList* GetImageList() const;

Valor devuelto

Puntero a un objeto CImageList. Devuelve NULL si no se establece ninguna lista de imágenes para el control.

Comentarios

Esta función miembro usa información de tamaño y máscara almacenada en la estructura REBARINFO, como se describe en Windows SDK.

CReBarCtrl::GetPalette

Recupera la paleta actual del control rebar.

CPalette* GetPalette() const;

Valor devuelto

Puntero a un objeto CPalette que especifica la paleta actual del control rebar.

Comentarios

Tenga en cuenta que esta función miembro usa un objeto CPalette como valor devuelto, en lugar de un HPALETTE.

Ejemplo

CPalette *pPalette = m_wndReBar.GetReBarCtrl().GetPalette();
if (pPalette)
{
   int nEntries = pPalette->GetEntryCount();
   CString msg;
   msg.Format(_T("Number of palette entries: %d"), nEntries);
   AfxMessageBox(msg);
}
else
{
   AfxMessageBox(_T("No palette!"));
}

CReBarCtrl::GetRect

Implementa el comportamiento del mensaje RB_GETRECT de Win32, tal y como se describe en Windows SDK.

BOOL GetRect(
    UINT uBand,
    LPRECT prc) const;

Parámetros

uBand
Índice basado en cero de una banda en el control rebar.

prc
Puntero a una estructura RECT que recibirá los límites de la banda rebar.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

Ejemplo

CRect rc;
m_wndReBar.GetReBarCtrl().GetRect(0, &rc);
CString msg;
msg.Format(_T("rect.left = %d, rect.top = %d, ")
           _T("rect.right = %d, rect.bottom = %d"),
           rc.left,
           rc.top, rc.right, rc.bottom);
AfxMessageBox(msg);

CReBarCtrl::GetRowCount

Implementa el comportamiento del mensaje RB_GETROWCOUNT de Win32, tal y como se describe en Windows SDK.

UINT GetRowCount() const;

Valor devuelto

Valor UINT que representa el número de filas de banda en el control.

Ejemplo

UINT nRowCount = m_wndReBar.GetReBarCtrl().GetRowCount();
CString msg;
msg.Format(_T("Row Count is %d"), nRowCount);
AfxMessageBox(msg);

CReBarCtrl::GetRowHeight

Implementa el comportamiento del mensaje RB_GETROWHEIGHT de Win32, tal y como se describe en Windows SDK.

UINT GetRowHeight(UINT uRow) const;

Parámetros

uRow
Índice basado en cero de la banda que tendrá su alto recuperado.

Valor devuelto

Valor UINT que representa el alto de fila en píxeles.

Ejemplo

int nCount = m_wndReBar.GetReBarCtrl().GetRowCount();
for (int i = 0; i < nCount; i++)
{
   UINT nHeight = m_wndReBar.GetReBarCtrl().GetRowHeight(i);
   CString msg;
   msg.Format(_T("Height of row %d is %u"), i, nHeight);
   AfxMessageBox(msg);
}

CReBarCtrl::GetTextColor

Implementa el comportamiento del mensaje RB_GETTEXTCOLOR de Win32, tal y como se describe en Windows SDK.

COLORREF GetTextColor() const;

Valor devuelto

Valor COLORREF que representa el color de texto predeterminado actual.

CReBarCtrl::GetToolTips

Implementa el comportamiento del mensaje RB_GETTOOLTIPS de Win32, tal y como se describe en Windows SDK.

CToolTipCtrl* GetToolTips() const;

Valor devuelto

Puntero a un objeto CToolTipCtrl.

Comentarios

Tenga en cuenta que la implementación de MFC de GetToolTips devuelve un puntero a CToolTipCtrl, en lugar de un HWND.

CReBarCtrl::HitTest

Implementa el comportamiento del mensaje RB_HITTEST de Win32, tal y como se describe en Windows SDK.

int HitTest(RBHITTESTINFO* prbht);

Parámetros

prbht
Puntero a una estructura RBHITTESTINFO. Antes de enviar el mensaje, el miembro pt de esta estructura debe inicializarse en el punto que se probará, en coordenadas de cliente.

Valor devuelto

Índice basado en cero de la banda en el punto especificado, o -1 si no había ninguna banda de rebar en el punto.

CReBarCtrl::IDToIndex

Implementa el comportamiento del mensaje RB_IDTOINDEX de Win32, tal y como se describe en Windows SDK.

int IDToIndex(UINT uBandID) const;

Parámetros

uBandID
Identificador definido por la aplicación de la banda especificada, pasado en el miembro wID de la estructura REBARBANDINFO cuando se inserta la banda.

Valor devuelto

Índice de banda basado en cero si se ejecuta correctamente o, de lo contrario, -1. Si existen índices de banda duplicados, se devuelve el primero.

CReBarCtrl::InsertBand

Implementa el comportamiento del mensaje RB_INSERTBAND de Win32, tal y como se describe en Windows SDK.

BOOL InsertBand(
    UINT uIndex,
    REBARBANDINFO* prbbi);

Parámetros

uIndex
Índice basado en cero de la ubicación donde se insertará la banda. Si establece este parámetro en -1, el control agregará la nueva banda en la última ubicación.

prbbi
Puntero a una estructura REBARBANDINFO que define la banda que se va a insertar. Debe establecer el miembro cbSize de esta estructura en sizeof(REBARBANDINFO) antes de llamar a esta función.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

Ejemplo

REBARBANDINFO rbbi = {0};
rbbi.cbSize = sizeof(rbbi);

TCHAR szText[80];
rbbi.lpText = szText;
rbbi.cch = sizeof(szText) / sizeof(szText[0]);

rbbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD |
             RBBIM_CHILDSIZE | RBBIM_COLORS | RBBIM_HEADERSIZE |
             RBBIM_IDEALSIZE | RBBIM_ID | RBBIM_IMAGE |
             RBBIM_LPARAM | RBBIM_SIZE | RBBIM_STYLE | RBBIM_TEXT;

m_wndReBar.GetReBarCtrl().GetBandInfo(0, &rbbi);

m_wndReBar.GetReBarCtrl().InsertBand(1, &rbbi);

CReBarCtrl::MaximizeBand

Cambia el tamaño de una banda de un control rebar a su tamaño más grande.

void MaximizeBand(UINT uBand);

Parámetros

uBand
Índice basado en cero de la banda que se va a maximizar.

Comentarios

Implementa el comportamiento del mensaje RB_MAXIMIZEBAND de Win32 con fIdeal establecido en 0, como se describe en Windows SDK.

Ejemplo

CReBarCtrl& refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.MaximizeBand(i);   

CReBarCtrl::MinimizeBand

Cambia el tamaño de una banda de un control rebar a su tamaño más pequeño.

void MinimizeBand(UINT uBand);

Parámetros

uBand
Índice basado en cero de la banda que se va a minimizar.

Comentarios

Implementa el comportamiento del mensaje RB_MINIMIZEBAND de Win32, tal y como se describe en Windows SDK.

Ejemplo

CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.MinimizeBand(i);

CReBarCtrl::MoveBand

Implementa el comportamiento del mensaje RB_MOVEBAND de Win32, tal y como se describe en Windows SDK.

BOOL MoveBand(
    UINT uFrom,
    UINT uTo);

Parámetros

uFrom
Índice basado en cero de la banda que se va a mover.

uTo
Índice basado en cero de la nueva posición de banda. Este valor de parámetro nunca debe ser mayor que el número de bandas menos uno. Para obtener el número de bandas, llame a GetBandCount.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

CReBarCtrl::PushChevron

Implementa el comportamiento del mensaje RB_PUSHCHEVRON de Win32, tal y como se describe en Windows SDK.

void PushChevron(
    UINT uBand,
    LPARAM lAppValue);

Parámetros

uBand
Índice de base cero de la banda cuyo botón de contenido adicional se va a insertar.

lAppValue
Un valor de 32 bits definido por la aplicación. Consulte lAppValue en RB_PUSHCHEVRON en Windows SDK.

CReBarCtrl::RestoreBand

Cambia el tamaño de una banda de un control rebar a su tamaño ideal.

void RestoreBand(UINT uBand);

Parámetros

uBand
Índice basado en cero de la banda que se va a maximizar.

Comentarios

Implementa el comportamiento del mensaje RB_MAXIMIZEBAND de Win32 con fIdeal establecido en 1, como se describe en Windows SDK.

Ejemplo

CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.RestoreBand(i);

CReBarCtrl::SetBandInfo

Implementa el comportamiento del mensaje RB_SETBANDINFO de Win32, tal y como se describe en Windows SDK.

BOOL SetBandInfo(
    UINT uBand,
    REBARBANDINFO* prbbi);

Parámetros

uBand
Índice basado en cero de la banda para recibir la nueva configuración.

prbbi
Puntero a una estructura REBARBANDINFO que define la banda que se va a insertar. Debe establecer el miembro cbSize de esta estructura en sizeof(REBARBANDINFO) antes de enviar este mensaje.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

Ejemplo

int nCount = m_wndReBar.GetReBarCtrl().GetBandCount();
CString strText;
REBARBANDINFO rbbi = {0};
rbbi.cbSize = sizeof(rbbi);
for (int i = 0; i < nCount; i++)
{
   strText.Format(_T("Band #: %d"), i);
   rbbi.lpText = strText.GetBuffer();
   rbbi.cch = strText.GetLength() + 1;
   rbbi.fMask = RBBIM_TEXT;

   m_wndReBar.GetReBarCtrl().SetBandInfo(i, &rbbi);

   strText.ReleaseBuffer();
}

CReBarCtrl::SetBandWidth

Establece el ancho de la banda acoplada especificada en el control rebar actual.

BOOL SetBandWidth(
    UINT uBand,
    int cxWidth);

Parámetros

uBand
[in] Índice basado en cero de una banda de rebar.

cxWidth
[in] Nuevo ancho de la banda de rebar en píxeles.

Valor devuelto

TRUE si el método es correcto; de lo contrario, FALSE.

Comentarios

Al usar este método, se envía el mensaje RB_SETBANDWIDTH, que se describe en Windows SDK.

Ejemplo

En el primer ejemplo de código se define la variable m_rebar, que se usa para acceder al control rebar. Esta variable se utiliza en el siguiente ejemplo.

public:
CReBarCtrl m_rebar;
BOOL bRet;
static const int TOTAL_BANDS = 5;
static const int BUFFER_SIZE = 10;

En el ejemplo de código siguiente se establece que cada banda de rebar tenga el mismo ancho.

// Set the width of each band.
m_rebar.GetClientRect(&rect);
int iWidth = rect.Width() / TOTAL_BANDS;
for (int iIndex = 0; iIndex < TOTAL_BANDS; iIndex++)
   bRet = m_rebar.SetBandWidth(iIndex, iWidth);

CReBarCtrl::SetBarInfo

Implementa el comportamiento del mensaje RB_SETBARINFO de Win32, tal y como se describe en Windows SDK.

BOOL SetBarInfo(REBARINFO* prbi);

Parámetros

prbi
Puntero a una estructura REBARINFO que contiene la información que se va a establecer. Debe establecer el miembro cbSize de esta estructura en sizeof(REBARINFO) antes de enviar este mensaje.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

Ejemplo

REBARINFO rbi = {0};
rbi.cbSize = sizeof(REBARINFO);
rbi.fMask = 0;
rbi.himl = 0;
m_wndReBar.GetReBarCtrl().SetBarInfo(&rbi);

CReBarCtrl::SetBkColor

Implementa el comportamiento del mensaje RB_SETBKCOLOR de Win32, tal y como se describe en Windows SDK.

COLORREF SetBkColor(COLORREF clr);

Parámetros

clr
Valor COLORREF que representa el nuevo color de fondo predeterminado.

Valor devuelto

Valor COLORREF que representa el color de fondo predeterminado anterior.

Comentarios

Consulte este tema para obtener más información sobre cuándo establecer el color de fondo y cómo establecer el valor predeterminado.

CReBarCtrl::SetColorScheme

Establece la combinación de colores para los botones de un control rebar.

void SetColorScheme(const COLORSCHEME* lpcs);

Parámetros

lpcs
Puntero a una estructura COLORSCHEME, como se describe en Windows SDK.

Comentarios

La estructura COLORSCHEME incluye el color de resaltado del botón y el color de sombra del botón.

CReBarCtrl::SetExtendedStyle

Obtiene los estilos extendidos del control rebar actual.

DWORD SetExtendedStyle(
    DWORD dwMask,
    DWORD dwStyleEx);

Parámetros

dwMask
[in] Combinación bit a bit (OR) de marcas que especifican qué marcas se aplican en el parámetro dwStyleEx. Uno o varios de los valores siguientes:

  • RBS_EX_SPLITTER: de forma predeterminada, muestre el divisor en la parte inferior en modo horizontal y a la derecha en modo vertical.
  • RBS_EX_TRANSPARENT: reenvía el mensaje WM_ERASEBKGND a la ventana primaria.

dwStyleEx
[in] Combinación bit a bit (OR) de marcas que especifican los estilos que se van a aplicar. Para establecer un estilo, especifique la misma marca que se usa en el parámetro dwMask. Para restablecer un estilo, especifique el cero binario.

Valor devuelto

Estilo extendido anterior.

Comentarios

Al usar este método, se envía el mensaje RB_SETEXTENDEDSTYLE, que se describe en Windows SDK.

CReBarCtrl::SetImageList

Asigna una lista de imágenes a un control rebar.

BOOL SetImageList(CImageList* pImageList);

Parámetros

pImageList
Puntero a un objeto CImageList que contiene la lista de imágenes que se va a asignar al control rebar.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

CReBarCtrl::SetOwner

Implementa el comportamiento del mensaje RB_SETPARENT de Win32, tal y como se describe en Windows SDK.

CWnd* SetOwner(CWnd* pWnd);

Parámetros

pWnd
Puntero a un objeto CWnd que se va a establecer como propietario del control rebar.

Valor devuelto

Puntero a un objeto CWnd que es el propietario actual del control rebar.

Comentarios

Tenga en cuenta que esta función miembro utiliza punteros a objetos CWnd para el propietario actual y el seleccionado del control rebar, en lugar de manipuladores de ventanas.

Nota:

Esta función miembro no cambia el elemento primario real que se estableció cuando se creó el control; en su lugar, envía mensajes de notificación a la ventana que especifique.

CReBarCtrl::SetPalette

Implementa el comportamiento del mensaje RB_SETPALETTE de Win32, tal y como se describe en Windows SDK.

CPalette* SetPalette(HPALETTE hPal);

Parámetros

hPal
Un HPALETTE que especifica la nueva paleta que usará el control rebar.

Valor devuelto

Puntero a un objeto CPalette que especifica la paleta anterior del control rebar.

Comentarios

Tenga en cuenta que esta función miembro usa un objeto CPalette como valor devuelto, en lugar de un HPALETTE.

CReBarCtrl::SetTextColor

Implementa el comportamiento del mensaje RB_SETTEXTCOLOR de Win32, tal y como se describe en Windows SDK.

COLORREF SetTextColor(COLORREF clr);

Parámetros

clr
Valor COLORREF que representa el nuevo color de texto en el objeto CReBarCtrl.

Valor devuelto

Valor COLORREF que representa el color de texto anterior asociado al objeto CReBarCtrl.

Comentarios

Se proporciona para admitir la flexibilidad del color de texto en un control rebar.

CReBarCtrl::SetToolTips

Asocia un control de información sobre herramientas con un control rebar.

void SetToolTips(CToolTipCtrl* pToolTip);

Parámetros

pToolTip
Puntero a un objeto CToolTipCtrl

Comentarios

Debe eliminar este objeto CToolTipCtrl cuando haya terminado con él.

CReBarCtrl::SetWindowTheme

Establece el estilo visual del control rebar.

HRESULT SetWindowTheme(LPCWSTR pszSubAppName);

Parámetros

pszSubAppName
Un puntero con una cadena Unicode que contiene el estilo visual de rebar que se va a establecer.

Valor devuelto

En esta función, no se usa el valor devuelto.

Comentarios

Esta función miembro se usa para emular la funcionalidad del mensaje RB_SETWINDOWTHEME, tal como se describe en Windows SDK.

CReBarCtrl::ShowBand

Implementa el comportamiento del mensaje RB_SHOWBAND de Win32, tal y como se describe en Windows SDK.

BOOL ShowBand(
    UINT uBand,
    BOOL fShow = TRUE);

Parámetros

uBand
Índice basado en cero de una banda en el control rebar.

fShow
Indica si la banda debe mostrarse u ocultarse. Si este valor es TRUE, se mostrará la banda. De lo contrario, la banda estará oculta.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

CReBarCtrl::SizeToRect

Implementa el comportamiento del mensaje RB_SIZETORECT de Win32, tal y como se describe en Windows SDK.

BOOL SizeToRect(CRect& rect);

Parámetros

rect
Referencia a un objeto CRect que especifica el rectángulo al que se debe ajustar el tamaño del control rebar.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

Comentarios

Tenga en cuenta que esta función miembro usa un objeto CRect como parámetro en lugar de una estructura RECT.

Consulte también

CWnd (clase)
Gráfico de jerarquías