Compartir a través de


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:

  1. Cree un recurso de barra de herramientas.

  2. Construya el objeto CToolBar.

  3. Llame a la función Create (o CreateEx) para crear la barra de herramientas de Windows y adjuntarla al objeto CToolBar.

  4. Llame a LoadToolBar para cargar el recurso de barra de herramientas.

De lo contrario, siga estos pasos.

  1. Construya el objeto CToolBar.

  2. Llame a la función Create (o CreateEx) para crear la barra de herramientas de Windows y adjuntarla al objeto CToolBar.

  3. Llame a LoadBitmap para cargar el mapa de bits que contiene las imágenes del botón de la barra de herramientas.

  4. 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

CObject

CCmdTarget

CWnd

CControlBar

CToolBar

Requisitos

Encabezadoafxext.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));

Consulte también

Ejemplo de MFCCTRLBARS
Ejemplo de MFCDLGCBR32
Ejemplo de MFCDOCKTOOL
CControlBar (clase)
Gráfico de jerarquías
CToolBarCtrl (clase)