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.
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
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 LOWORD y la coordenada vertical se encuentra en 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:
Llame a CReBarCtrl para construir un objeto
CReBarCtrl
.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 LOWORD y la coordenada vertical se encuentra en 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
.