Clase CToolBar
Barras de control que tienen una fila de botones de mapas de bits y separadores opcionales.
Sintaxis
class CToolBar : public CControlBar
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CToolBar::CToolBar |
Construye un objeto CToolBar . |
Métodos públicos
Nombre | Descripción |
---|---|
CToolBar::CommandToIndex |
Devuelve el índice de un botón con el id. de comando especificado. |
CToolBar::Create |
Crea la barra de herramientas de Windows y la asocia al objeto CToolBar . |
CToolBar::CreateEx |
Crea un objeto CToolBar con estilos adicionales para el objeto insertado CToolBarCtrl . |
CToolBar::GetButtonInfo |
Recupera el id., el estilo y el número de imagen de un botón. |
CToolBar::GetButtonStyle |
Recupera el estilo de un botón. |
CToolBar::GetButtonText |
Recupera el texto que aparecerá en un botón. |
CToolBar::GetItemID |
Devuelve el id. de comando de un botón o separador en el índice especificado. |
CToolBar::GetItemRect |
Recupera el rectángulo de visualización del elemento en el índice especificado. |
CToolBar::GetToolBarCtrl |
Permite el acceso directo al control común subyacente. |
CToolBar::LoadBitmap |
Carga el mapa de bits que incluye imágenes de botón de mapa de bits. |
CToolBar::LoadToolBar |
Carga un recurso de barra de herramientas creado con el editor de recursos. |
CToolBar::SetBitmap |
Establece una imagen con mapa de bits. |
CToolBar::SetButtonInfo |
Establece el id., el estilo y el número de imagen de un botón. |
CToolBar::SetButtons |
Establece estilos de botón y un índice de imágenes de botón en el mapa de bits. |
CToolBar::SetButtonStyle |
Establece el estilo de un botón. |
CToolBar::SetButtonText |
Establece el texto que aparecerá en un botón. |
CToolBar::SetHeight |
Establece el alto de la barra de herramientas. |
CToolBar::SetSizes |
Establece los tamaños de los botones y sus mapas de bits. |
Comentarios
Los botones pueden actuar como pulsadores, de casilla o de radio. Por lo general, los objetos CToolBar
son miembros insertados de objetos de ventana de marco derivados de la clase CFrameWnd
o CMDIFrameWnd
.
CToolBar::GetToolBarCtrl
es una función miembro nueva en MFC 4.0 que le permite aprovechar la compatibilidad del control común de Windows con la personalización y función adicional de la barra de herramientas. Las funciones miembro CToolBar
proporcionan la mayor parte de la función de los controles comunes de Windows; pero al llamar a GetToolBarCtrl
, se puede proporcionar a las barras de herramientas más características de las barras de herramientas de Windows 95/98. Al llamar a GetToolBarCtrl
, se devolverá una referencia a un objeto CToolBarCtrl
. Vea CToolBarCtrl
para obtener más información sobre el diseño de barras de herramientas mediante controles comunes de Windows. Para obtener más información general sobre los controles comunes, vea Controles comunes en Windows SDK.
Visual C++ proporciona dos métodos para crear una barra de herramientas. Para crear un recurso de barra de herramientas mediante el Editor de recursos, siga estos pasos:
Cree un recurso de barra de herramientas.
Construya el objeto
CToolBar
.Llame a la función
Create
(oCreateEx
) para crear la barra de herramientas de Windows y adjuntarla al objetoCToolBar
.Llame a
LoadToolBar
para cargar el recurso de barra de herramientas.
De lo contrario, siga estos pasos:
Construya el objeto
CToolBar
.Llame a la función
Create
(oCreateEx
) para crear la barra de herramientas de Windows y adjuntarla al objetoCToolBar
.Llame a
LoadBitmap
para cargar el mapa de bits que contiene las imágenes del botón de la barra de herramientas.Llame a
SetButtons
para establecer el estilo del botón y asociar cada botón a una imagen en el mapa de bits.
Todas las imágenes del botón de la barra de herramientas se toman de un mapa de bits, que debe contener una imagen para cada botón. Todas las imágenes deben tener el mismo tamaño; el valor predeterminado es 16 píxeles de ancho y 15 de alto. Las imágenes deben estar en paralelo en el mapa de bits.
La función SetButtons
toma un puntero a una matriz de id. de control y un entero que especifica el número de elementos de la matriz. La función establece el id. de cada botón en el valor del elemento correspondiente de la matriz y asigna a cada botón un índice de imagen, que especifica la posición de la imagen del botón en el mapa de bits. Si un elemento de matriz tiene el valor ID_SEPARATOR
, no se asigna ningún índice de imagen.
El orden de las imágenes del mapa de bits suele ser el orden en el que se dibujan en la pantalla, pero puede usar la función SetButtonInfo
para cambiar la relación entre el orden de la imagen y el orden del dibujo.
Todos los botones de una barra de herramientas tienen el mismo tamaño. El valor predeterminado es de 24 x 22 píxeles, de acuerdo con las Directrices de interfaz de Windows para el diseño de software. Cualquier espacio adicional entre las dimensiones de imagen y botón se usa para formar un borde alrededor de la imagen.
Cada botón tiene una imagen. Los diferentes estados y estilos del botón (presionado, arriba, abajo, deshabilitado, deshabilitado hacia abajo, indeterminado) se generan a partir de una imagen. Aunque los mapas de bits pueden ser de cualquier color, puede lograr los mejores resultados con imágenes en negro y tonos de gris.
Advertencia
CToolBar
admite mapas de bits con un máximo de 16 colores. Al cargar una imagen en un editor de barras de herramientas, Visual Studio convierte automáticamente la imagen en un mapa de bits de 16 colores, si es necesario, y muestra un mensaje de advertencia si la imagen se convirtió. Si usa una imagen con más de 16 colores (mediante un editor externo para editar la imagen), es posible que la aplicación tenga un comportamiento inesperado.
Los botones de la barra de herramientas imitan a los pulsadores de manera predeterminada. Pero los botones de la barra de herramientas también pueden imitar a botones de casilla o de radio. Los botones de casilla tienen tres estados: activado, desactivado e indeterminado. Los botones de radio solo tienen dos estados: activado y desactivado.
Para establecer un estilo individual de botón o separador sin apuntar a una matriz, llame a GetButtonStyle
para recuperar el estilo y, después, llame a SetButtonStyle
en lugar de a SetButtons
. SetButtonStyle
es más útil cuando se quiere cambiar el estilo de un botón en tiempo de ejecución.
Para asignar texto y que aparezca en un botón, llame a GetButtonText
a fin de recuperar el texto que aparece en el botón y, después, llame a SetButtonText
para establecer el texto.
Para crear un botón de casilla, asígnele el estilo TBBS_CHECKBOX
o use la función miembro SetCheck
de un objeto CCmdUI
en un controlador ON_UPDATE_COMMAND_UI
. Llamar a SetCheck
convierte un pulsador en un botón de casilla. Pase a SetCheck
un argumento de 0 para establecerlo en no comprobado, 1 para comprobado o 2 para indeterminado.
Para crear un botón de radio, llame a la función miembro SetRadio
de un objeto CCmdUI
desde un controlador ON_UPDATE_COMMAND_UI
. Pase a SetRadio
un argumento de 0 para establecerlo en no comprobado o distinto de cero para comprobado. A fin de proporcionar el comportamiento mutuamente excluyente de un grupo de radio, debe tener controladores ON_UPDATE_COMMAND_UI
para todos los botones del grupo.
Para obtener más información sobre el uso de CToolBar
, vea el artículo Implementación de la barra de herramientas de MFC y la Nota técnica 31: Barras de control.
Jerarquía de herencia
CToolBar
Requisitos
Encabezado: afxext.h
CToolBar::CommandToIndex
Esta función miembro devuelve el índice del primer botón de la barra de herramientas, comenzando en la posición 0, cuyo id. de comando coincide con nIDFind
.
int CommandToIndex(UINT nIDFind) const;
Parámetros
nIDFind
Id. de comando de un botón de la barra de herramientas.
Valor devuelto
Índice del botón o -1 si no hay ningún botón con el id. de comando especificado.
CToolBar::Create
Esta función miembro crea una barra de herramientas de Windows (una ventana secundaria) y la asocia al objeto CToolBar
.
virtual BOOL Create(
CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
UINT nID = AFX_IDW_TOOLBAR);
Parámetros
pParentWnd
Puntero a la ventana que es el elemento primario de la barra de herramientas.
dwStyle
Estilo de la barra de herramientas. Se admiten estilos de barra de herramientas adicionales:
La barra de control
CBRS_TOP
está en la parte superior de la ventana de marco.La barra de control
CBRS_BOTTOM
está en la parte inferior de la ventana de marco.La barra de control
CBRS_NOALIGN
no cambia de posición cuando se cambia el tamaño del elemento primario.La barra de control
CBRS_TOOLTIPS
muestra sugerencias de herramientas.La barra de control
CBRS_SIZE_DYNAMIC
es dinámica.La barra de control
CBRS_SIZE_FIXED
es fija.La barra de control
CBRS_FLOATING
es flotante.La barra de estado
CBRS_FLYBY
muestra información sobre el botón.La barra de control
CBRS_HIDE_INPLACE
no se muestra al usuario.
nID
El id. de la ventana secundaria de la barra de herramientas.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
También establece el alto de la barra de herramientas en un valor predeterminado.
Ejemplo
// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.
//This example creates a dockable toolbar.
if (!m_wndToolBar.Create(this) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
//Make the toolbar dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
CToolBar::CreateEx
Llame a esta función para crear una barra de herramientas (una ventana secundaria) de Windows y asociarla al objeto CToolBar
.
virtual BOOL CreateEx(
CWnd* pParentWnd,
DWORD dwCtrlStyle = TBSTYLE_FLAT,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
CRect rcBorders = CRect(
0,
0,
0,
0),
UINT nID = AFX_IDW_TOOLBAR);
Parámetros
pParentWnd
Puntero a la ventana que es el elemento primario de la barra de herramientas.
dwCtrlStyle
Estilos adicionales para la creación del objeto CToolBarCtrl
insertado. De forma predeterminada, este valor está establecido en TBSTYLE_FLAT
. Para obtener una lista completa de los estilos de la barra de herramientas, vea dwStyle
.
dwStyle
Estilo de la barra de herramientas. Vea Estilos de botón y control de barra de herramientas en Windows SDK para obtener una lista de estilos adecuados.
rcBorders
Objeto CRect
que define los anchos de los bordes de la ventana de la barra de herramientas. Estos bordes se establecen en 0,0,0,0 de manera predeterminada, lo que da como resultado una ventana de barra de herramientas sin bordes.
nID
El id. de la ventana secundaria de la barra de herramientas.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
También establece el alto de la barra de herramientas en un valor predeterminado.
Use CreateEx
, en lugar de Create
, cuando ciertos estilos deban estar presentes durante la creación del control de barra de herramientas insertado. Por ejemplo, establezca dwCtrlStyle
en TBSTYLE_FLAT | TBSTYLE_TRANSPARENT
para crear una barra de herramientas similar a las barras de herramientas de Internet Explorer 4.
Ejemplo
// This example demonstrates CToolBar::CreateEx by creating a
// toolbar as part of a child frame window. It also calls the
// LoadToolbar and EnableDocking functions
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndMyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndMyToolBar.LoadToolBar(IDR_MYTOOLBAR))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_wndMyToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndMyToolBar);
return 0;
}
CToolBar::CToolBar
Esta función miembro construye un objeto CToolBar
y establece los tamaños predeterminados.
CToolBar();
Comentarios
Llame a la función miembro Create
para crear la ventana de la barra de herramientas.
CToolBar::GetButtonInfo
Esta función miembro recupera el id. de control, el estilo y el índice de imagen del botón o separador de la barra de herramientas en la ubicación que especifica nIndex
.
void GetButtonInfo(
int nIndex,
UINT& nID,
UINT& nStyle,
int& iImage) const;
Parámetros
nIndex
Índice del botón o separador de la barra de herramientas cuya información se va a recuperar.
nID
Referencia a un elemento UINT que se establece en el id. de comando del botón.
nStyle
Referencia a un elemento UINT que se establece en el estilo del botón.
iImage
Referencia a un entero que se establece en el índice de la imagen del botón del mapa de bits.
Comentarios
Esos valores se asignan a las variables a las que hace referencia nID
, nStyle
y iImage
. El índice de imagen es la posición de la imagen en el mapa de bits que contiene imágenes para todos los botones de la barra de herramientas. La primera imagen está en la posición 0.
Si nIndex
especifica un separador, iImage
se establece en el ancho del separador en píxeles.
CToolBar::GetButtonStyle
Llame a esta función miembro para recuperar el estilo de un botón o separador en la barra de herramientas.
UINT GetButtonStyle(int nIndex) const;
Parámetros
nIndex
Índice del estilo del separador o botón de la barra de herramientas que se va a recuperar.
Valor devuelto
Estilo del botón o separador que especifica nIndex
.
Comentarios
El estilo de un botón determina cómo aparece el botón y cómo responde a la entrada de usuario. Vea SetButtonStyle
para obtener ejemplos de estilos de botón.
CToolBar::GetButtonText
Llame a esta función miembro para recuperar el texto que aparece en un botón.
CString GetButtonText(int nIndex) const;
void GetButtonText(
int nIndex,
CString& rString) const;
Parámetros
nIndex
Índice del texto que se va a recuperar.
rString
Referencia a un objeto CString
que incluirá el texto que se va a recuperar.
Valor devuelto
Objeto CString
que contiene el texto del botón.
Comentarios
La segunda forma de esta función miembro rellena un objeto CString
con el texto de cadena.
CToolBar::GetItemID
Esta función miembro devuelve el id. de comando del botón o separador que especifica nIndex
.
UINT GetItemID(int nIndex) const;
Parámetros
nIndex
Índice del elemento cuyo id. se va a recuperar.
Valor devuelto
Id. de comando del botón o separador que especifica nIndex
.
Comentarios
Los separadores devuelven ID_SEPARATOR
.
CToolBar::GetItemRect
Esta función miembro rellena la estructura RECT
cuya dirección se encuentra en lpRect
con las coordenadas del botón o separador que especifica nIndex
.
virtual void GetItemRect(
int nIndex,
LPRECT lpRect) const;
Parámetros
nIndex
Índice del elemento (botón o separador) cuyas coordenadas de rectángulo se van a recuperar.
lpRect
Dirección de la estructura RECT
que contendrá las coordenadas del elemento.
Comentarios
Las coordenadas están en píxeles en relación con la esquina superior izquierda de la barra de herramientas.
Use GetItemRect
para obtener las coordenadas de un separador que quiera reemplazar por un cuadro combinado u otro control.
Ejemplo
Vea el ejemplo de CToolBar::SetSizes
.
CToolBar::GetToolBarCtrl
Esta función miembro permite el acceso directo al control común subyacente.
CToolBarCtrl& GetToolBarCtrl() const;
Valor devuelto
Referencia a un objeto CToolBarCtrl
.
Comentarios
Use GetToolBarCtrl
para aprovechar las ventajas de la función del control común de la barra de herramientas de Windows y a fin de sacar partido de la compatibilidad que CToolBarCtrl
proporciona para la personalización de la barra de herramientas.
Para obtener más información sobre el uso de controles comunes, vea el artículo Controles y Controles comunes en Windows SDK.
Ejemplo
// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.
//This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE
| CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));
CRect temp;
m_wndToolBar.GetItemRect(0, &temp);
m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(temp.Width(),
temp.Height()));
CToolBar::LoadBitmap
Llame a esta función miembro para cargar el mapa de bits que especifica lpszResourceName
o nIDResource
.
BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);
Parámetros
lpszResourceName
Puntero al nombre del recurso del mapa de bits que se va a cargar.
nIDResource
Id. de recurso del mapa de bits que se va a cargar.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
El mapa de bits debe contener una imagen para cada botón de la barra de herramientas. Si las imágenes no tienen el tamaño estándar (16 píxeles de ancho y 15 de alto), llame a SetSizes
para establecer los tamaños de los botones y sus imágenes.
Advertencia
CToolBar
admite mapas de bits con un máximo de 16 colores. Al cargar una imagen en un editor de barras de herramientas, Visual Studio convierte automáticamente la imagen en un mapa de bits de 16 colores, si es necesario, y muestra un mensaje de advertencia si la imagen se convirtió. Si usa una imagen con más de 16 colores (mediante un editor externo para editar la imagen), es posible que la aplicación tenga un comportamiento inesperado.
CToolBar::LoadToolBar
Llame a esta función miembro para cargar la barra de herramientas que especifica lpszResourceName
o nIDResource
.
BOOL LoadToolBar(LPCTSTR lpszResourceName);
BOOL LoadToolBar(UINT nIDResource);
Parámetros
lpszResourceName
Puntero al nombre del recurso de la barra de herramientas que se va a cargar.
nIDResource
Id. de recurso de la barra de herramientas que se va a cargar.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Vea el editor de la barra de herramientas para obtener más información sobre cómo crear un recurso de barra de herramientas.
Ejemplo
Vea el ejemplo de CToolBar::CreateEx
.
CToolBar::SetBitmap
Llame a esta función miembro para establecer la imagen de mapa de bits de la barra de herramientas.
BOOL SetBitmap(HBITMAP hbmImageWell);
Parámetros
hbmImageWell
Identificador de una imagen de mapa de bits asociada a una barra de herramientas.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Por ejemplo, llame a SetBitmap
para cambiar la imagen de mapa de bits después de que el usuario realice una acción en un documento que cambie la acción de un botón.
CToolBar::SetButtonInfo
Llame a esta función miembro para establecer el id. de comando, el estilo y el número de imagen del botón.
void SetButtonInfo(
int nIndex,
UINT nID,
UINT nStyle,
int iImage);
Parámetros
nIndex
Índice de base cero del botón o separador para el que se va a establecer información.
nID
Valor en el que se establece el id. de comando del botón.
nStyle
Nuevo estilo de botón. Se admiten los estilos de botón siguientes:
TBBS_BUTTON
Pulsador estándar (valor predeterminado).TBBS_SEPARATOR
Separador.TBBS_CHECKBOX
Botón de casilla automática.TBBS_GROUP
Marca el inicio de un grupo de botones.TBBS_CHECKGROUP
Marca el inicio de un grupo de botones de casilla.TBBS_DROPDOWN
Crea un botón de lista desplegable.TBBS_AUTOSIZE
El ancho del botón se calculará en función del texto del botón, no del tamaño de la imagen.TBBS_NOPREFIX
El texto del botón no tendrá asociado un prefijo de acelerador.
iImage
Índice nuevo para la imagen del botón del mapa de bits.
Comentarios
Para los separadores, que tienen el estilo TBBS_SEPARATOR
, esta función establece el ancho del separador en píxeles en el valor almacenado en iImage
.
Nota:
También puede establecer estados de botón mediante el parámetro nStyle
; pero dado que el controlador ON_UPDATE_COMMAND_UI
controla los estados del botón, cualquier estado que establezca mediante SetButtonInfo
se perderá durante el procesamiento en inactividad siguiente. Vea Procedimientos para actualizar objetos de interfaz de usuario y TN031: Barras de control para obtener más información.
Para obtener información sobre las imágenes y botones del mapa de bits, vea la información general de CToolBar
y CToolBar::LoadBitmap
.
CToolBar::SetButtons
Esta función miembro establece el id. de comando de cada botón de la barra de herramientas en el valor que especifica el elemento correspondiente de la matriz lpIDArray
.
BOOL SetButtons(
const UINT* lpIDArray,
int nIDCount);
Parámetros
lpIDArray
Puntero a una matriz de id. de comando. Puede ser NULL para asignar botones vacíos.
nIDCount
Número de elementos de la matriz a la que apunta lpIDArray
.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Si un elemento de la matriz tiene el valor ID_SEPARATOR
, se crea un separador en la posición correspondiente de la barra de herramientas. Esta función también establece el estilo de cada botón en TBBS_BUTTON
y el estilo de cada separador en TBBS_SEPARATOR
; también asigna un índice de imagen a cada botón. El índice de imagen especifica la posición de la imagen del botón en el mapa de bits.
No es necesario tener en cuenta los separadores en el mapa de bits porque esta función no asigna índices de imagen para separadores. Si la barra de herramientas tiene botones en las posiciones 0, 1 y 3, y un separador en la posición 2, las imágenes en las posiciones 0, 1 y 2 del mapa de bits se asignan a los botones de las posiciones 0, 1 y 3, respectivamente.
Si lpIDArray
es NULL, esta función asigna espacio para el número de elementos que especifica nIDCount
. Use SetButtonInfo
para establecer los atributos de cada elemento.
CToolBar::SetButtonStyle
Llame a esta función miembro para establecer el estilo de un botón o separador, o para agrupar botones.
void SetButtonStyle(
int nIndex,
UINT nStyle);
Parámetros
nIndex
Índice del botón o separador cuya información se va a establecer.
nStyle
Estilo del botón. Se admiten los estilos de botón siguientes:
TBBS_BUTTON
Pulsador estándar (valor predeterminado).TBBS_SEPARATOR
Separador.TBBS_CHECKBOX
Botón de casilla automática.TBBS_GROUP
Marca el inicio de un grupo de botones.TBBS_CHECKGROUP
Marca el inicio de un grupo de botones de casilla.TBBS_DROPDOWN
Crea un botón de lista desplegable.TBBS_AUTOSIZE
El ancho del botón se calculará en función del texto del botón, no del tamaño de la imagen.TBBS_NOPREFIX
El texto del botón no tendrá asociado un prefijo de acelerador.
Comentarios
El estilo de un botón determina cómo aparece el botón y cómo responde a la entrada de usuario.
Antes de llamar a SetButtonStyle
, llame a la función miembro GetButtonStyle
para recuperar el estilo del botón o separador.
Nota:
También puede establecer estados de botón mediante el parámetro nStyle
; pero dado que el controlador ON_UPDATE_COMMAND_UI
controla los estados del botón, cualquier estado que establezca mediante SetButtonStyle
se perderá durante el procesamiento en inactividad siguiente. Vea Procedimientos para actualizar objetos de interfaz de usuario y TN031: Barras de control para obtener más información.
CToolBar::SetButtonText
Llame a esta función para establecer el texto en un botón.
BOOL SetButtonText(
int nIndex,
LPCTSTR lpszText);
Parámetros
nIndex
Índice del botón cuyo texto se va a establecer.
lpszText
Apunta al texto que se va a establecer en un botón.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Ejemplo
Vea el ejemplo de CToolBar::GetToolBarCtrl
.
CToolBar::SetHeight
Esta función miembro establece el alto de la barra de herramientas en el valor en píxeles especificado en cyHeight
.
void SetHeight(int cyHeight);
Parámetros
cyHeight
Alto en píxeles de la barra de herramientas.
Comentarios
Después de llamar a SetSizes
, use esta función miembro para invalidar el alto estándar de la barra de herramientas. Si el alto es demasiado pequeño, los botones se recortarán en la parte inferior.
Si no se llama a esta función, el marco usa el tamaño del botón para determinar el alto de la barra de herramientas.
CToolBar::SetSizes
Llame a esta función miembro para establecer los botones de la barra de herramientas en el tamaño, en píxeles, especificado en sizeButton
.
void SetSizes(
SIZE sizeButton,
SIZE sizeImage);
Parámetros
sizeButton
Tamaño en píxeles de cada botón.
sizeImage
Tamaño en píxeles de cada imagen.
Comentarios
El parámetro sizeImage
debe incluir el tamaño, en píxeles, de las imágenes del mapa de bits de la barra de herramientas. Las dimensiones de sizeButton
deben ser suficientes para contener la imagen más 7 píxeles más de ancho y 6 píxeles más de alto. Esta función también establece el alto de la barra de herramientas para ajustarse a los botones.
Llame a esta función miembro solo para las barras de herramientas que no siguen las recomendaciones de Directrices de interfaz de Windows para el diseño de software para tamaños de imagen y botón.
Ejemplo
// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd
// This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE
| CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));
CRect temp;
m_wndToolBar.GetItemRect(0,&temp);
m_wndToolBar.SetSizes(CSize(temp.Width(),
temp.Height()),CSize(16,15));
Vea también
Ejemplo de MFCCTRLBARS
Ejemplo de MFCDLGCBR32
Ejemplo de MFCDOCKTOOL
CControlBar
(clase)
Gráfico de jerarquías
CToolBarCtrl
(clase)