Clase CToolBarCtrl
Proporciona la funcionalidad del control de barra de herramientas común de Windows.
Sintaxis
class CToolBarCtrl : public CWnd
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CToolBarCtrl::CToolBarCtrl |
Construye un objeto CToolBarCtrl . |
Métodos públicos
Nombre | Descripción |
---|---|
CToolBarCtrl::AddBitmap |
Agrega una o varias imágenes de mapa de bits de botón a la lista de imágenes de botones disponibles para un control de barra de herramientas. |
CToolBarCtrl::AddButtons |
Agrega uno o varios botones a un control de barra de herramientas. |
CToolBarCtrl::AddString |
Agrega una nueva cadena, que se pasa como identificador de recurso, a la lista interna de cadenas de la barra de herramientas. |
CToolBarCtrl::AddStrings |
Agrega una nueva cadena o cadenas, pasadas como puntero a un búfer de cadenas separadas por NULL a la lista interna de cadenas de la barra de herramientas. |
CToolBarCtrl::AutoSize |
Cambia el tamaño de un control de barra de herramientas. |
CToolBarCtrl::ChangeBitmap |
Cambia el mapa de bits de un botón en el control de barra de herramientas actual. |
CToolBarCtrl::CheckButton |
Marca o desmarca un botón determinado en un control de barra de herramientas. |
CToolBarCtrl::CommandToIndex |
Recupera el índice de base cero para el botón asociado al identificador de comando especificado. |
CToolBarCtrl::Create |
Crea un control de la barra de herramientas y lo adjunta a un objeto CToolBarCtrl . |
CToolBarCtrl::CreateEx |
Crea un control de la barra de herramientas con los estilos extendidos de Windows especificados y lo adjunta a un objeto CToolBarCtrl . |
CToolBarCtrl::Customize |
Muestra el cuadro de diálogo Personalizar barra de herramientas. |
CToolBarCtrl::DeleteButton |
Elimina un botón del control de barra de herramientas. |
CToolBarCtrl::EnableButton |
Habilita o deshabilita el botón especificado en un control de barra de herramientas. |
CToolBarCtrl::GetAnchorHighlight |
Recupera la configuración de resaltado del delimitador de una barra de herramientas. |
CToolBarCtrl::GetBitmap |
Recupera el índice del mapa de bits asociado a un botón de una barra de herramientas. |
CToolBarCtrl::GetBitmapFlags |
Obtiene marcas asociadas al mapa de bits de la barra de herramientas. |
CToolBarCtrl::GetButton |
Recupera información sobre el botón especificado en un control de barra de herramientas. |
CToolBarCtrl::GetButtonCount |
Recupera un recuento de los botones que se encuentran actualmente en el control de la barra de herramientas. |
CToolBarCtrl::GetButtonInfo |
Recupera la información de un botón de una barra de herramientas. |
CToolBarCtrl::GetButtonSize |
Recupera el ancho y alto actuales de los botones de la barra de herramientas, en píxeles. |
CToolBarCtrl::GetColorScheme |
Recupera la combinación de colores del control de la barra de herramientas actual. |
CToolBarCtrl::GetDisabledImageList |
Recupera la lista de imágenes que usa un control de barra de herramientas para mostrar botones deshabilitados. |
CToolBarCtrl::GetDropTarget |
Recupera la interfaz IDropTarget de un control de barra de herramientas. |
CToolBarCtrl::GetExtendedStyle |
Recupera los estilos extendidos de un control de barra de herramientas. |
CToolBarCtrl::GetHotImageList |
Recupera la lista de imágenes que usa un control de barra de herramientas para mostrar botones rápidos. Un botón rápido aparece resaltado al pasar por encima el puntero del mouse. |
CToolBarCtrl::GetHotItem |
Recupera el índice del elemento rápido en una barra de herramientas. |
CToolBarCtrl::GetImageList |
Recupera la lista de imágenes que usa un control de barra de herramientas para mostrar botones en su estado predeterminado. |
CToolBarCtrl::GetInsertMark |
Recupera la marca de inserción actual de la barra de herramientas. |
CToolBarCtrl::GetInsertMarkColor |
Recupera el color usado para dibujar la marca de inserción de la barra de herramientas. |
CToolBarCtrl::GetItemRect |
Recupera el rectángulo delimitador de un botón en un control de barra de herramientas. |
CToolBarCtrl::GetMaxSize |
Recupera el tamaño total de todos los botones y separadores visibles de la barra de herramientas. |
CToolBarCtrl::GetMaxTextRows |
Recupera el número máximo de filas de texto mostradas en un botón de barra de herramientas. |
CToolBarCtrl::GetMetrics |
Recupera las métricas de un control de barra de herramientas. |
CToolBarCtrl::GetPadding |
Recupera el relleno horizontal y vertical del control de barra de herramientas actual. |
CToolBarCtrl::GetPressedImageList |
Recupera la lista de imágenes que usa el control de barra de herramientas actual para representar botones en el estado presionado. |
CToolBarCtrl::GetRect |
Recupera el rectángulo de delimitación para un botón de barra de herramientas especificado. |
CToolBarCtrl::GetRows |
Recupera el número de filas de botones que se muestran actualmente en la barra de herramientas. |
CToolBarCtrl::GetState |
Recupera información sobre el estado del botón especificado en un control de barra de herramientas, como si está habilitado, presionado o marcado. |
CToolBarCtrl::GetString |
Recupera una cadena de barra de herramientas. |
CToolBarCtrl::GetStyle |
Recupera los estilos actualmente en uso para un control de barra de herramientas. |
CToolBarCtrl::GetToolTips |
Recupera el manipulador del control de información sobre herramientas, si existe, asociado al control de barra de herramientas. |
CToolBarCtrl::HideButton |
Oculta o muestra el botón especificado en un control de barra de herramientas. |
CToolBarCtrl::HitTest |
Determina dónde se encuentra un punto en un control de barra de herramientas. |
CToolBarCtrl::Indeterminate |
Establece o borra el estado indeterminado (gris) del botón especificado en un control de barra de herramientas. |
CToolBarCtrl::InsertButton |
Inserta un botón en un control de barra de herramientas. |
CToolBarCtrl::InsertMarkHitTest |
Recupera la información de la marca de inserción de un punto de una barra de herramientas. |
CToolBarCtrl::IsButtonChecked |
Indica si el botón especificado en un control de barra de herramientas está marcado. |
CToolBarCtrl::IsButtonEnabled |
Indica si el botón especificado en un control de barra de herramientas está activado. |
CToolBarCtrl::IsButtonHidden |
Indica si el botón especificado en un control de barra de herramientas está oculto. |
CToolBarCtrl::IsButtonHighlighted |
Comprueba el estado de resaltado del botón de la barra de herramientas. |
CToolBarCtrl::IsButtonIndeterminate |
Indica si el estado del botón especificado en un control de barra de herramientas es indeterminado (gris). |
CToolBarCtrl::IsButtonPressed |
Indica si el botón especificado en un control de barra de herramientas está presionado. |
CToolBarCtrl::LoadImages |
Carga mapas de bits en la lista de imágenes de un control de barra de herramientas. |
CToolBarCtrl::MapAccelerator |
Asigna un carácter de atajo a un botón de barra de herramientas. |
CToolBarCtrl::MarkButton |
Establece el estado de resaltado de un botón determinado en un control de barra de herramientas. |
CToolBarCtrl::MoveButton |
Mueve un botón de un índice a otro. |
CToolBarCtrl::PressButton |
Presiona o suelta el botón especificado en un control de barra de herramientas. |
CToolBarCtrl::ReplaceBitmap |
Reemplaza el mapa de bits existente en el control de barra de herramientas actual por un nuevo mapa de bits. |
CToolBarCtrl::RestoreState |
Restaura el estado del control de barra de herramientas. |
CToolBarCtrl::SaveState |
Guarda el estado del control de barra de herramientas. |
CToolBarCtrl::SetAnchorHighlight |
Establece la configuración de resaltado del delimitador de una barra de herramientas. |
CToolBarCtrl::SetBitmapSize |
Establece el tamaño de las imágenes de mapa de bits para agregar a un control de barra de herramientas. |
CToolBarCtrl::SetButtonInfo |
Establece la información de un botón existente en una barra de herramientas. |
CToolBarCtrl::SetButtonSize |
Establece el tamaño de los botones para añadir a un control de barra de herramientas. |
CToolBarCtrl::SetButtonStructSize |
Especifica el tamaño de la estructura TBBUTTON . |
CToolBarCtrl::SetButtonWidth |
Establece el ancho mínimo y máximo del botón en el control de barra de herramientas. |
CToolBarCtrl::SetCmdID |
Establece el identificador de comando que se va a enviar a la ventana propietaria cuando se presiona el botón especificado. |
CToolBarCtrl::SetColorScheme |
Recupera la combinación de colores del control de la barra de herramientas actual. |
CToolBarCtrl::SetDisabledImageList |
Establece la lista de imágenes que usará el control de barra de herramientas para mostrar botones deshabilitados. |
CToolBarCtrl::SetDrawTextFlags |
Establece las marcas de la función DrawText de Win32, que se usa para dibujar el texto en el rectángulo especificado, con formato acorde a cómo se han establecido las marcas. |
CToolBarCtrl::SetExtendedStyle |
Establece los estilos extendidos de un control de barra de herramientas. |
CToolBarCtrl::SetHotImageList |
Establece la lista de imágenes que usará el control de barra de herramientas para mostrar botones rápidos. |
CToolBarCtrl::SetHotItem |
Establece el elemento rápido en una barra de herramientas. |
CToolBarCtrl::SetImageList |
Establece la lista de imágenes que usará la barra de herramientas para mostrar botones que estén en su estado predeterminado. |
CToolBarCtrl::SetIndent |
Establece la sangría del primer botón de un control de barra de herramientas. |
CToolBarCtrl::SetInsertMark |
Establece la marca de inserción actual de la barra de herramientas. |
CToolBarCtrl::SetInsertMarkColor |
Establece el color usado para dibujar la marca de inserción de la barra de herramientas. |
CToolBarCtrl::SetMaxTextRows |
Establece el número máximo de filas de texto mostradas en un botón de barra de herramientas. |
CToolBarCtrl::SetMetrics |
Recupera las métricas de un control de barra de herramientas. |
CToolBarCtrl::SetOwner |
Establece el margen de tiempo para recibir mensajes de notificación del control de barra de herramientas. |
CToolBarCtrl::SetPadding |
Establece el relleno horizontal y vertical del control de barra de herramientas actual. |
CToolBarCtrl::SetPressedImageList |
Establece la lista de imágenes que usa el control de barra de herramientas actual para representar botones en estado presionado. |
CToolBarCtrl::SetRows |
Establece el número de filas de botones que se muestran en la barra de herramientas. |
CToolBarCtrl::SetState |
Establece el estado del botón especificado en un control de barra de herramientas. |
CToolBarCtrl::SetStyle |
Establece los estilos de un control de barra de herramientas. |
CToolBarCtrl::SetToolTips |
Asocia un control de información sobre herramientas con el control de barra de herramientas. |
CToolBarCtrl::SetWindowTheme |
Establece el estilo visual de un control de barra de herramientas. |
Comentarios
Este control (y, por tanto, la clase CToolBarCtrl
) solo está disponible para los programas que se ejecutan en Windows 95/98 y Windows NT 3.51 y posteriores.
Un control común de la barra de herramientas de Windows es una ventana secundaria rectangular que contiene uno o varios botones. Estos botones pueden mostrar una imagen de mapa de bits, una cadena o ambas. Cuando el usuario elige un botón, envía un mensaje de comando a la ventana propietaria de la barra de herramientas. Normalmente, los botones de una barra de herramientas corresponden a elementos del menú de la aplicación; proporcionan al usuario una manera más directa acceder a los comandos de una aplicación.
Los objetosCToolBarCtrl
contienen varias estructuras de datos internas importantes: una lista de imágenes de mapa de bits de botones o una lista de imágenes, una lista de cadenas de etiquetas de botones, y una lista de estructuras TBBUTTON
que asocian una imagen y/o cadena con la posición, estilo, estado e id.de comando del botón. Cada uno de los elementos de estas estructuras de datos es referido por un índice de base cero. Para poder usar un objeto CToolBarCtrl
, debe configurar estas estructuras de datos. La lista de cadenas solo se puede usar para las etiquetas de botón; no se pueden recuperar cadenas de la barra de herramientas.
Para usar un objeto CToolBarCtrl
, normalmente seguirá estos pasos:
Construya el objeto
CToolBarCtrl
.Llamar a
Create
para crear el control común de la barra de herramientas de Windows y adjuntarlo al objetoCToolBarCtrl
. Identificar el estilo de la barra de herramientas mediante estilos, comoTBSTYLE_TRANSPARENT
para una barra de herramientas transparente oTBSTYLE_DROPDOWN
para una barra de herramientas que admita botones de estilo desplegable.Identificar cómo desea que se muestren los botones de la barra de herramientas:
Para usar imágenes de mapa de bits para botones, agregue los mapas de bits de botones a la barra de herramientas llamando a
AddBitmap
.Para usar imágenes mostradas desde una lista de imágenes o botones, especifique la lista de imágenes llamando a
SetImageList
,SetHotImageList
, oSetDisabledImageList
.Para usar etiquetas de cadena para los botones, agregue las cadenas a la barra de herramientas llamando a
AddString
y/oAddStrings
.
Agregue estructuras de botón a la barra de herramientas llamando a
AddButtons
.Si quiere sugerencias de herramientas para un botón de barra de herramientas en una ventana propietaria que no es
CFrameWnd
, debe controlar los mensajesTTN_NEEDTEXT
en la ventana propietaria de la barra de herramientas, como se describe en Control de Notificaciones de sugerencias sobre herramientas. Si la ventana primaria de la barra de herramientas se deriva deCFrameWnd
, las sugerencias de herramientas se muestran sin que tenga que hacer nada más porqueCFrameWnd
proporciona un controlador predeterminado.Si desea que el usuario pueda personalizar la barra de herramientas, controle los mensajes de notificación de personalización en la ventana propietaria, como se describe en Control de notificaciones de personalización.
Puede usar SaveState
para guardar el estado actual de un control de barra de herramientas en el registro y RestoreState
para restaurar el estado en función de la información almacenada anteriormente en el registro. Además de guardar el estado de la barra de herramientas entre usos de la aplicación, las aplicaciones suelen almacenar el estado antes de que el usuario empiece a personalizar la barra de herramientas en caso de que el usuario quiera restaurar la barra de herramientas a su estado original.
Compatibilidad con Internet Explorer versión 4.0 y posteriores
Para admitir la funcionalidad introducida en Internet Explorer, versión 4.0 y posteriores, MFC proporciona compatibilidad con listas de imágenes y estilos transparentes y planos para los controles de barra de herramientas.
Una barra de herramientas transparente permite que el cliente debajo de la barra de herramientas se vea a través. Para crear una barra de herramientas transparente, use los dos estilos: TBSTYLE_FLAT
y TBSTYLE_TRANSPARENT
. Las barras de herramientas transparentes cuentan con seguimiento activo; es decir, cuando el puntero del mouse se mueve sobre un botón rápido de la barra de herramientas, la apariencia del botón cambia. Las barras de herramientas creadas solo con el estilo TBSTYLE_FLAT
tendrán botones que no son transparentes.
La compatibilidad con la lista de imágenes permite un control de mayor flexibilidad para el comportamiento predeterminado, las imágenes activas y las imágenes deshabilitadas. Use GetImageList
, GetHotImageList
y GetDisabledImageList
con la barra de herramientas transparente para manipular la imagen según su estado:
Para obtener más información sobre el uso de la clase CToolBarCtrl
, consulte Controles y Uso de CToolBarCtrl
.
Jerarquía de herencia
CToolBarCtrl
Requisitos
Encabezado: afxcmn.h
CToolBarCtrl::AddBitmap
Agrega una o varias imágenes de botón a la lista de imágenes de botones almacenada en el control de barra de herramientas.
int AddBitmap(
int nNumButtons,
UINT nBitmapID);
int AddBitmap(
int nNumButtons,
CBitmap* pBitmap);
Parámetros
nNumButtons
Número de imágenes de botones en el mapa de bits.
nBitmapID
Identificador de recurso del mapa de bits que contiene la imagen o imágenes de botones a agregar.
pBitmap
Puntero del objeto CBitmap
que contiene la imagen o imágenes de botones a agregar.
Valor devuelto
Índice de base cero de la primera imagen nueva si se realiza correctamente; de lo contrario, -1.
Comentarios
Puede usar la API de Windows CreateMappedBitmap
para asignar colores antes de agregar el mapa de bits a la barra de herramientas. Si pasa un puntero a un objeto CBitMap
, debe asegurarse de que el mapa de bits no se destruye hasta que se destruye la barra de herramientas.
CToolBarCtrl::AddButtons
Agrega uno o varios botones a un control de barra de herramientas.
BOOL AddButtons(
int nNumButtons,
LPTBBUTTON lpButtons);
Parámetros
nNumButtons
Número de botones a agregar.
lpButtons
Dirección de una matriz de estructuras TBBUTTON
que contiene información sobre los botones a agregar. Debe haber el mismo número de elementos en la matriz que los botones especificados por nNumButtons
.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
El puntero lpButtons
apunta a una matriz de estructuras TBBUTTON
. Cada estructura TBBUTTON
asocia el botón que se va a agregar con su estilo, imagen y/o cadena, id. de comando, estado y los datos definidos por el usuario:
typedef struct _TBBUTTON {
int iBitmap; // zero-based index of button image
int idCommand; // command to be sent when button pressed
BYTE fsState; // button state--see below
BYTE fsStyle; // button style--see below
DWORD dwData; // application-defined value
int iString; // zero-based index of button label string
} TBBUTTON;
Los miembros son los siguientes:
iBitmap
Índice de base cero de la imagen de botón, -1 si no hay ninguna imagen para este botón.
idCommand
Identificador de comando asociado al botón. Este identificador se envía en un mensaje
WM_COMMAND
cuando se elige el botón. Si el miembrofsStyle
tiene el valorTBSTYLE_SEP
, este miembro debe ser cero.fsState
Marcas de estado del botón. Puede ser una combinación de los valores listados debajo:
TBSTATE_CHECKED
El botón tiene el estiloTBSTYLE_CHECKED
y está siendo presionado.TBSTATE_ENABLED
El botón acepta entrada del usuario. Un botón que no tiene este estado no acepta la entrada del usuario y está atenuado.TBSTATE_HIDDEN
El botón no está visible y no puede recibir la entrada del usuario.TBSTATE_INDETERMINATE
El botón está atenuado.TBSTATE_PRESSED
El botón está siendo presionado.TBSTATE_WRAP
Un salto de línea sigue al botón. El botón también debe tener el estadoTBSTATE_ENABLED
.
fsStyle
Estilo de botón. Puede ser una combinación de los valores listados debajo:
TBSTYLE_BUTTON
Crea un botón estándar para presionar.TBSTYLE_CHECK
Crea un botón que cambia entre los estados presionado y no presionado cada vez que el usuario hace clic sobre él. El botón tiene un color de fondo diferente cuando está en estado presionado.TBSTYLE_CHECKGROUP
Crea un botón de marcado que permanece presionado hasta que se presiona otro botón del grupo.TBSTYLE_GROUP
Crea un botón que permanece presionado hasta que se presiona otro botón del grupo.TBSTYLE_SEP
Crea un separador, creando un pequeño espacio entre los grupos de botones. Un botón que tiene este estilo no recibe la entrada del usuario.
dwData
Datos definidos por el usuario.
iString
Índice de base cero de la cadena a usar como etiqueta del botón, -1 si no hay ninguna cadena para este botón.
La imagen y/o cadena cuyo índice proporcione debe haberse agregado previamente a la lista del control de barra de herramientas mediante AddBitmap
, AddString
y/o AddStrings
.
CToolBarCtrl::AddString
Agrega una nueva cadena, que se pasa como identificador de recurso, a la lista interna de cadenas de la barra de herramientas.
int AddString(UINT nStringID);
Parámetros
nStringID
Identificador de recurso de cadena que se va a agregar a la lista de cadenas del control de barra de herramientas.
Valor devuelto
Índice de base cero de la primera cadena nueva agregada si se realiza correctamente; en caso contrario, -1.
CToolBarCtrl::AddStrings
Agrega una nueva cadena o cadenas a la lista de cadenas disponibles para un control de barra de herramientas.
int AddStrings(LPCTSTR lpszStrings);
Parámetros
lpszStrings
Dirección de un búfer que contiene una o varias cadenas terminadas en NULL
para agregar a la lista de cadenas de la barra de herramientas. La última cadena debe terminarse con dos caracteres NULL
.
Valor devuelto
Índice de base cero de la primera cadena nueva agregada si se realiza correctamente; en caso contrario, -1.
Comentarios
Las cadenas del búfer deben estar separadas por un carácter NULL
. Debe asegurarse de que la última cadena tiene dos terminadores NULL
. Para dar formato correcto a una cadena constante, puede escribirla como:
// one null added automatically
lpszStrings = _T("Only one string to add\0");
O bien
// adds three strings with one call
lpszStrings = _T("String 1\0String 2\0String 3\0");
No debe pasar un objeto CString
a esta función, ya que no es posible tener más de un carácter NULL
en un CString
.
CToolBarCtrl::AutoSize
Cambia el tamaño del control de barra de herramientas completo.
void AutoSize();
Comentarios
Debe llamar a esta función cuando cambie el tamaño de la ventana primaria o el de la barra de herramientas (por ejemplo, al establecer tamaño del botón o del mapa de bits, o al agregar cadenas).
CToolBarCtrl::ChangeBitmap
Cambia el mapa de bits de un botón en el control de barra de herramientas actual.
BOOL ChangeBitmap(
int idButton,
int iBitmap);
Parámetros
idButton
[in] Identificador de comando del botón que va a recibir un nuevo mapa de bits.
iBitmap
[in] Índice de base cero de una imagen en la lista de imágenes del control de barra de herramientas actual.
Valor devuelto
TRUE
si este método es correcto; en caso contrario, FALSE
.
Comentarios
Si este método se ejecuta correctamente, el sistema muestra la imagen especificada en el botón especificado.
Al usar este método, se envía el mensaje TB_CHANGEBITMAP
, que se describe en Windows SDK.
Ejemplo
En el ejemplo de código siguiente se cambia el mapa de bits del botón Guardar archivo al mapa de bits del botón Acerca de.
{
// Change the bitmap for the File Save button, whose
// command ID is ID_FILE_SAVE, to the bitmap for the
// About button, whose index is 7.
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
BOOL bRet = m_toolBarCtrl.ChangeBitmap(ID_FILE_SAVE, 7);
}
CToolBarCtrl::CheckButton
Marca o desmarca un botón determinado en un control de barra de herramientas.
BOOL CheckButton(
int nID,
BOOL bCheck = TRUE);
Parámetros
nID
Identificador de comando del botón que se va a marcar o desmarcar.
bCheck
TRUE
para marcar el botón, FALSE
para desmarcarlo.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Cuando se ha marcado un botón, parece que se ha presionado. Si desea cambiar más de un estado de botón, considere la posibilidad de llamar a SetState
en su lugar.
CToolBarCtrl::CommandToIndex
Recupera el índice de base cero para el botón asociado al identificador de comando especificado.
UINT CommandToIndex(UINT nID) const;
Parámetros
nID
Identificador de comando cuyo índice de botón desea buscar.
Valor devuelto
Índice de base cero del botón asociado al identificador de comando.
Comentarios
CToolBarCtrl::Create
Crea un control de la barra de herramientas y lo adjunta a un objeto CToolBarCtrl
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwStyle
Especifica el estilo del control de la barra de herramientas. Las barras de herramientas siempre deben tener el estilo WS_CHILD
. Además, puede especificar cualquier combinación de estilos de barra de herramientas y estilos de ventana como se describe en Comentarios.
rect
Opcionalmente, especifica el tamaño y la posición del control de la barra de herramientas. Puede ser un objeto CRect
o una estructura RECT
.
pParentWnd
Especifica la ventana principal del control de barra de herramientas. Este valor no debe ser NULL
.
nID
Especifica el identificador del control de la barra de herramientas.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
El proceso de construcción de un elemento CToolBarCtrl
se divide en dos pasos. En primer lugar, llame al constructor y, luego, a Create
, lo que crea el control de barra de herramientas y lo asocia al objeto CToolBarCtrl
. Aplique los siguientes estilos de ventana a un control de barra de herramientas.
WS_CHILD
SiempreWS_VISIBLE
NormalmenteWS_DISABLED
Raramente
Consulte CreateWindow
en Windows SDK para ver una descripción de los estilos de ventanas.
Opcionalmente, aplique una combinación de estilos de control comunes, como se describe en Windows SDK.
Aplique una combinación de estilos de barra de herramientas al control o a los propios botones. Los estilos se describen en el tema Estilos de botones y controles de la barra de herramientas en Windows SDK.
Para usar estilos de barra de herramientas extendidos, llame a SetExtendedStyle
después de llamar a Create
. Para crear una barra de herramientas con estilos de ventana extendidos, llame a CToolBarCtrl::CreateEx
en lugar de Create
.
El control de barra de herramientas establece automáticamente el tamaño y la posición de la ventana de la barra de herramientas. La altura se basa en la de los botones de la barra de herramientas. La anchura es la misma que la del área cliente de la ventana primaria. Los estilos CCS_TOP
y CCS_BOTTOM
determinan si la barra de herramientas se coloca en la parte superior o inferior del área de cliente. De forma predeterminada, una barra tiene el estilo CCS_TOP
.
CToolBarCtrl::CreateEx
Esta función puede usarse para crear un control (una ventana secundaria) y asociarlo con el objeto CToolBarCtrl
.
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 obtener una lista de estilos extendidos de Windows, consulte el parámetro dwExStyle
de la función CreateWindowEx
en Windows SDK.
dwStyle
Especifica el estilo del control de la barra de herramientas. Las barras de herramientas siempre deben tener el estilo WS_CHILD
. Además, puede especificar cualquier combinación de estilos de barra de herramientas y estilos de ventana como se describe en la sección Comentarios de Create
.
rect
Una referencia a una estructura RECT
describiendo el tamaño y la posición de la ventana a crear, en las coordenadas 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
Usa la función CreateEx
, en lugar de Create
, para aplicar estilos extendidos de Windows. Estos se especifican en el prefacio de estilo extendido WS_EX_
de Windows. CreateEx
crea el control con los estilos de extendidos de Windows especificados por dwExStyle
. Establece estilos extendidos específicos de un control mediante SetExtendedStyle
. Por ejemplo, use CreateEx
para establecer estilos como WS_EX_CONTEXTHELP
, pero use SetExtendedStyle
para establecer estilos como TBSTYLE_EX_DRAWDDARROWS
. Para obtener más información, vea los estilos descritos en Estilos extendidos de la barra de herramientas en Windows SDK.
CToolBarCtrl::CToolBarCtrl
Construye un objeto CToolBarCtrl
.
CToolBarCtrl();
Comentarios
Debe llamar a Create
para que la barra de herramientas se pueda usar.
CToolBarCtrl::Customize
Muestra el cuadro de diálogo Personalizar barra de herramientas.
void Customize();
Comentarios
Este cuadro de diálogo permite al usuario personalizar la barra de herramientas agregando y eliminando botones. Para admitir la personalización, la ventana principal de la barra de herramientas debe manipular los mensajes de notificación de personalización, tal y como se describe en Manipular notificaciones de personalización. La barra de herramientas también debe haberse creado con el estilo CCS_ADJUSTABLE
, como se describe en CToolBarCtrl::Create
.
CToolBarCtrl::DeleteButton
Elimina un botón del control de barra de herramientas.
BOOL DeleteButton(int nIndex);
Parámetros
nIndex
Índice de base cero del botón que se va a eliminar.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
CToolBarCtrl::EnableButton
Habilita o deshabilita el botón especificado en un control de barra de herramientas.
BOOL EnableButton(
int nID,
BOOL bEnable = TRUE);
Parámetros
nID
Identificador de comando del botón para habilitar o deshabilitar.
bEnable
TRUE
para habilitar el botón; FALSE
para deshabilitarlo.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Cuando se ha habilitado un botón, se puede presionar y marcar. Si desea cambiar más de un estado de botón, considere la posibilidad de llamar a SetState
en su lugar.
CToolBarCtrl::GetAnchorHighlight
Recupera la configuración de resaltado del delimitador de una barra de herramientas.
BOOL GetAnchorHighlight() const;
Valor devuelto
Si no es cero, el resaltado de delimitador está habilitado. Si es cero, el resaltado de delimitador está deshabilitado.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETANCHORHIGHLIGHT
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetBitmap
Recupera el índice del mapa de bits asociado a un botón de una barra de herramientas.
int GetBitmap(int nID) const;
Parámetros
nID
Identificador de comando del botón cuyo índice de mapa de bits se va a recuperar.
Valor devuelto
Devuelve el índice del mapa de bits si se ejecuta correctamente, o cero en caso contrario.
Comentarios
Implementa la funcionalidad de TB_GETBITMAP
en Windows SDK.
CToolBarCtrl::GetBitmapFlags
Recupera las marcas de mapa de bits de la barra de herramientas.
UINT GetBitmapFlags() const;
Valor devuelto
Un UINT
que tiene la marca TBBF_LARGE
solo si la pantalla puede admitir mapas de bits de barra de herramientas grandes.
Comentarios
Debería llamarlo tras crear la barra de herramientas pero antes de añadirle mapas de bits. El valor devuelto indica si la pantalla admite mapas de bits grandes o no. Si la pantalla admite mapas de bits grandes y si decide usarlos, llame a SetBitmapSize
y SetButtonSize
antes de agregar el mapa de bits grande mediante AddBitmap
.
CToolBarCtrl::GetButton
Recupera información sobre el botón especificado en un control de barra de herramientas.
BOOL GetButton(
int nIndex,
LPTBBUTTON lpButton) const;
Parámetros
nIndex
Índice de base cero del botón para el que se va a recuperar información.
lpButton
Dirección de la estructura TBBUTTON
que va a recibir una copia de la información del botón. Consulte CToolBarCtrl::AddButtons
para obtener más información sobre la estructura TBBUTTON
.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
CToolBarCtrl::GetButtonCount
Recupera un recuento de los botones que se encuentran actualmente en el control de la barra de herramientas.
int GetButtonCount() const;
Valor devuelto
Recuento de los botones.
CToolBarCtrl::GetButtonInfo
Recupera la información de un botón de una barra de herramientas.
int GetButtonInfo(
int nID,
TBBUTTONINFO* ptbbi) const;
Parámetros
nID
Identificador del botón.
ptbbi
Un puntero a una estructura TBBUTTONINFO
que recibe la información del botón.
Valor devuelto
Índice de base cero del botón, si se ejecuta correctamente; en caso contrario, -1.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETBUTTONINFO
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetButtonSize
Obtiene el tamaño de un botón de la barra de herramientas.
DWORD GetButtonSize() const;
Valor devuelto
Un valor DWORD
que contiene los valores de ancho y alto en el LOWORD
y el HIWORD
, respectivamente.
CToolBarCtrl::GetButtonText
Recupera el texto para mostrar de un botón especificado en el control de barra de herramientas actual.
CString GetButtonText(int idButton) const;
Parámetros
idButton
[in] El identificador del botón cuyo texto para mostrar se ha recuperado.
Valor devuelto
Un CString
que contiene el texto para mostrar del botón especificado.
Comentarios
Al usar este método, se envía el mensaje TB_GETBUTTONTEXT
, que se describe en Windows SDK.
CToolBarCtrl::GetColorScheme
Recupera la combinación de colores del control de la barra de herramientas actual.
BOOL GetColorScheme(COLORSCHEME* lpColorScheme) const;
Parámetros
lpColorScheme
[out] Un puntero a una estructura COLORSCHEME
que recibe la información de la combinación de colores. Cuando este método vuelve, la estructura describe el color de resaltado y de sombra del control de la barra de herramientas.
Valor devuelto
TRUE
si este método es correcto; en caso contrario, FALSE
.
Comentarios
Al usar este método, se envía el mensaje TB_GETCOLORSCHEME
, que se describe en Windows SDK.
CToolBarCtrl::GetDisabledImageList
Recupera la lista de imágenes que usa un control de barra de herramientas para mostrar botones deshabilitados.
CImageList* GetDisabledImageList() const;
Valor devuelto
Un puntero a un objeto CImageList
o NULL
si no se establece una lista de imágenes para el estado desactivado.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETDISABLEDIMAGELIST
de Win32, tal y como se describe en Windows SDK. La implementación de MFC de GetDisabledImageList
usa un objeto CImageList
que contiene las imágenes de botones del control de la barra de herramientas, en lugar de un manipulador para una lista de imágenes.
CToolBarCtrl::GetDropTarget
Recupera la interfaz IDropTarget
de un control de barra de herramientas.
HRESULT GetDropTarget(IDropTarget** ppDropTarget) const;
Parámetros
ppDropTarget
Puntero a un puntero de interfaz IDropTarget
. Si se produce un error, un puntero NULL
se coloca en esta dirección.
Valor devuelto
Devuelve un valor HRESULT
indicando si la operación se ha realizado correctamente o no.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETOBJECT
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetExtendedStyle
Recupera los estilos extendidos de un control de barra de herramientas.
DWORD GetExtendedStyle() const;
Valor devuelto
Un DWORD
que representa los estilos extendidos actualmente en uso para el control de barra de herramientas. Para obtener una lista de estilos, consulte Estilos extendidos de la barra de herramientas, en Windows SDK.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETEXTENDEDSTYLE
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetHotImageList
Recupera la lista de imágenes que usa un control de barra de herramientas para mostrar botones rápidos. Un botón rápido aparece resaltado al pasar por encima el puntero del mouse.
CImageList* GetHotImageList() const;
Valor devuelto
Un puntero a un objeto CImageList
o NULL
si no se establece una lista de imágenes para el estado desactivado.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETHOTIMAGELIST
de Win32, tal y como se describe en Windows SDK. Un botón rápido aparece resaltado al pasar por encima el puntero del mouse.
CToolBarCtrl::GetHotItem
Recupera el índice del elemento rápido en una barra de herramientas.
int GetHotItem() const;
Valor devuelto
El índice de base cero del elemento activo en una barra de herramientas.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETHOTITEM
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetImageList
Recupera la lista de imágenes que usa un control de barra de herramientas para mostrar botones en su estado predeterminado.
CImageList* GetImageList() const;
Valor devuelto
Un puntero a un objeto CImageList
o NULL
si no se establece una lista de imágenes.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETIMAGELIST
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetInsertMark
Recupera la marca de inserción actual de la barra de herramientas.
void GetInsertMark(TBINSERTMARK* ptbim) const;
Parámetros
ptbim
Un puntero a una estructura TBINSERTMARK
que recibe la marca de inserción.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETINSERTMARK
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetInsertMarkColor
Recupera el color usado para dibujar la marca de inserción de la barra de herramientas.
COLORREF GetInsertMarkColor() const;
Valor devuelto
Un valor COLORREF
que contiene el color de la marca de inserción actual.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETINSERTMARKCOLOR
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetItemRect
Recupera el rectángulo delimitador de un botón en un control de barra de herramientas.
BOOL GetItemRect(
int nIndex,
LPRECT lpRect) const;
Parámetros
nIndex
Índice de base cero del botón para el que se va a recuperar información.
lpRect
Dirección de una estructura RECT
o un objeto CRect
que recibe las coordenadas del rectángulo delimitador.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Esta función no recupera el rectángulo delimitador de los botones cuyo estado está establecido en TBSTATE_HIDDEN
.
CToolBarCtrl::GetMaxSize
Recupera el tamaño total de todos los botones y separadores visibles de la barra de herramientas.
BOOL GetMaxSize(LPSIZE pSize) const;
Parámetros
pSize
Un puntero a una estructura SIZE
que recibe el tamaño de los elementos.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETMAXSIZE
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetMaxTextRows
Recupera el número máximo de filas de texto mostradas en un botón de barra de herramientas.
int GetMaxTextRows() const;
Valor devuelto
El número máximo de filas de texto mostradas en un botón de barra de herramientas.
CToolBarCtrl::GetMetrics
Recupera las métricas del objeto CToolBarCtrl
.
void GetMetrics(LPTBMETRICS ptbm) const;
Parámetros
ptbm
Un puntero a la estructura TBMETRICS
del objeto CToolBarCtrl
.
Comentarios
Esta función miembro se usa para emular la funcionalidad del mensaje TB_GETMETRICS
, tal como se describe en Windows SDK.
CToolBarCtrl::GetPadding
Recupera el relleno horizontal y vertical del control de barra de herramientas actual.
BOOL GetPadding(
int* pnHorzPadding,
int* pnVertPadding) const;
Parámetros
pnHorzPadding
[out] Un entero que recibe el relleno horizontal del control de la barra de herramientas, en píxeles.
pnVertPadding
[out] Un entero que recibe el relleno vertical del control de la barra de herramientas, en píxeles.
Valor devuelto
TRUE
si este método es correcto; en caso contrario, FALSE
.
Comentarios
Al usar este método, se envía el mensaje TB_GETPADDING
, que se describe en Windows SDK.
CToolBarCtrl::GetPressedImageList
Recupera la lista de imágenes que usa el control de barra de herramientas actual para representar botones en el estado presionado.
CImageList* GetPressedImageList();
Valor devuelto
Un puntero a un CImageList
que contiene la lista de imágenes para el control actual o NULL
si no se establece dicha lista de imágenes.
Comentarios
Al usar este método, se envía el mensaje TB_GETPRESSEDIMAGELIST
, que se describe en Windows SDK.
CToolBarCtrl::GetRect
Recupera el rectángulo de delimitación para un botón de barra de herramientas especificado.
BOOL GetRect(
int nID,
LPRECT lpRect) const;
Parámetros
nID
Identificador del botón.
lpRect
Puntero a una estructura RECT
para recibir la información del rectángulo delimitador.
Valor devuelto
TRUE
si es correcto; de lo contrario, FALSE
.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETRECT
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetRows
Recupera el número de filas de botones que se muestran actualmente en el control de la barra de herramientas.
int GetRows() const;
Valor devuelto
Número de filas de botones que se muestran actualmente en la barra de herramientas.
Comentarios
Tenga en cuenta que el número de filas siempre será uno a menos que se haya creado la barra de herramientas con el estilo TBSTYLE_WRAPABLE
.
CToolBarCtrl::GetState
Recupera información sobre el estado del botón especificado en un control de barra de herramientas, como si está habilitado, presionado o marcado.
int GetState(int nID) const;
Parámetros
nID
Identificador de comando del botón para el que se va a recuperar información.
Valor devuelto
Información de estado del botón si se ejecuta correctamente o -1 en caso contrario. La información de estado del botón puede ser una combinación de los valores enumerados en CToolBarCtrl::AddButtons
.
Comentarios
Esta función es especialmente útil si desea recuperar más de uno de los estados del botón. Para recuperar un solo estado, use una de las siguientes funciones miembro: IsButtonEnabled
, IsButtonChecked
, IsButtonPressed
, IsButtonHidden
o IsButtonIndeterminate
. Sin embargo, la función miembro GetState
es la única manera de detectar el estado del botónTBSTATE_WRAP
.
CToolBarCtrl::GetString
Recupera una cadena de barra de herramientas.
int GetString(
int nString,
LPTSTR lpstrString,
int cchMaxLen) const;
int GetString(
int nString,
CString& str) const;
Parámetros
nString
Índice de la cadena.
lpstrString
Puntero a un búfer usado para devolver la cadena.
cchMaxLen
Tamaño del búfer en bytes.
str
Cadena .
Valor devuelto
Longitud de la cadena si se ejecuta correctamente, -1 si no es así.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_GETSTRING
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::GetStyle
Obtiene los estilos aplicados actualmente a un control de barra de herramientas.
DWORD GetStyle() const;
Valor devuelto
Un DWORD
que contiene una combinación de estilos de control de barra de herramientas, como se describe en Windows SDK.
CToolBarCtrl::GetToolTips
Recupera el manipulador del control de información sobre herramientas, si existe, asociado al control de barra de herramientas.
CToolTipCtrl* GetToolTips() const;
Valor devuelto
Un puntero al objeto CToolTipCtrl
asociado a esta barra de herramientas o NULL
si la barra de herramientas no tiene ningún control de información sobre herramientas asociado.
Comentarios
Dado que el control de la barra de herramientas normalmente crea y mantiene su propio control de información sobre herramientas, la mayoría de los programas no necesitan llamar a esta función.
CToolBarCtrl::HitTest
Determina dónde se encuentra un punto en un control de barra de herramientas.
int HitTest(LPPOINT ppt) const;
Parámetros
ppt
Un puntero a una estructura POINT
que contiene la coordenada x de la prueba de posicionamiento en el miembro x
y la coordenada y de la prueba de posicionamiento en el miembro y
. Las coordenadas son relativas al área cliente de la barra de herramientas.
Valor devuelto
Valor entero que indica la ubicación de un punto en una barra de herramientas. Si el valor es cero o positivo, este valor devuelto es el índice de base cero del elemento no separador en el que se encuentra el punto.
Si el valor devuelto es negativo, el punto no se encuentra dentro de un botón. El valor absoluto del valor devuelto es el índice de un elemento separador o el elemento no separador más cercano.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_HITTEST
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::HideButton
Oculta o muestra el botón especificado en un control de barra de herramientas.
BOOL HideButton(
int nID,
BOOL bHide = TRUE);
Parámetros
nID
Identificador de comando del botón que se va a ocultar o mostrar.
bHide
TRUE
para ocultar el botón, FALSE
para mostrarlo.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Si desea cambiar más de un estado de botón, considere la posibilidad de llamar a SetState
en su lugar.
CToolBarCtrl::Indeterminate
Establece o borra el estado indeterminado del botón especificado en un control de barra de herramientas.
BOOL Indeterminate(
int nID,
BOOL bIndeterminate = TRUE);
Parámetros
nID
Identificador de comando del botón cuyo estado indeterminado se va a establecer o borrar.
bIndeterminate
TRUE
para establecer el estado indeterminado para el botón especificado, FALSE
para borrarlo.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Los botones indeterminados se muestran atenuados, igual que el botón de negrita de la barra de herramientas de un procesador de texto cuando el texto seleccionado contiene caracteres tanto en negrita como normales. Si desea cambiar más de un estado de botón, considere la posibilidad de llamar a SetState
en su lugar.
CToolBarCtrl::InsertButton
Inserta un botón en un control de barra de herramientas.
BOOL InsertButton(
int nIndex,
LPTBBUTTON lpButton);
Parámetros
nIndex
Índice de base cero de un botón. Esta función inserta el nuevo botón a la izquierda de este botón.
lpButton
Dirección de una estructura TBBUTTON
que contiene información sobre el botón que se va a insertar. Consulte CToolBarCtrl::AddButtons
para obtener una descripción de la estructura TBBUTTON
.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
La imagen y/o cadena cuyo índice proporcione debe haberse agregado previamente a la lista del control de barra de herramientas mediante AddBitmap
, AddString
y/o AddStrings
.
CToolBarCtrl::InsertMarkHitTest
Recupera la información de la marca de inserción de un punto de una barra de herramientas.
BOOL InsertMarkHitTest(
LPPOINT ppt,
LPTBINSERTMARK ptbim) const;
Parámetros
ppt
Puntero a una estructura POINT
que contiene las coordenadas de la prueba de posicionamiento, relativas al área cliente de la barra de herramientas.
ptbim
Un puntero a una estructura TBINSERTMARK
que recibe la información de la marca de inserción.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_INSERTMARKHITTEST
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::IsButtonChecked
Determina si el botón especificado en un control de barra de herramientas está marcado.
BOOL IsButtonChecked(int nID) const;
Parámetros
nID
Identificador de comando del botón en la barra de herramientas.
Valor devuelto
Distinto de cero si el botón está marcado, de lo contrario, será cero.
Comentarios
Considere llamar a GetState
si quiere recuperar más de un estado de botón.
CToolBarCtrl::IsButtonEnabled
Determina si el botón especificado en un control de barra de herramientas está activado.
BOOL IsButtonEnabled(int nID) const;
Parámetros
nID
Identificador de comando del botón en la barra de herramientas.
Valor devuelto
Distinto de cero si el control está activado, de lo contrario, será cero.
Comentarios
Considere llamar a GetState
si quiere recuperar más de un estado de botón.
CToolBarCtrl::IsButtonHidden
Determina si el botón especificado en un control de barra de herramientas está oculto.
BOOL IsButtonHidden(int nID) const;
Parámetros
nID
Identificador de comando del botón en la barra de herramientas.
Valor devuelto
Distinto de cero si el botón está oculto, de lo contrario, será cero.
Comentarios
Considere llamar a GetState
si quiere recuperar más de un estado de botón.
CToolBarCtrl::IsButtonHighlighted
Comprueba el estado de resaltado de un botón de la barra de herramientas.
BOOL IsButtonHighlighted(int nID) const;
Parámetros
nID
[in] Identificador de comando del botón de la barra de herramientas.
Valor devuelto
Entero positivo si el botón está resaltado, 0 si el botón no está resaltado o -1 si se produce un error.
CToolBarCtrl::IsButtonIndeterminate
Determina si el botón especificado en un control de barra de herramientas es indeterminado.
BOOL IsButtonIndeterminate(int nID) const;
Parámetros
nID
[in] Identificador de comando del botón en la barra de herramientas.
Valor devuelto
Entero positivo si el botón es indeterminado, cero si el botón no es indeterminado o -1 si se produce un error.
Comentarios
Los botones indeterminados se muestran atenuados, igual que el botón de negrita de la barra de herramientas de un procesador de texto cuando el texto seleccionado contiene caracteres tanto en negrita como normales. Considere llamar a GetState
si quiere recuperar más de un estado de botón.
CToolBarCtrl::IsButtonPressed
Determina si el botón especificado en un control de barra de herramientas está presionado.
BOOL IsButtonPressed(int nID) const;
Parámetros
nID
Identificador de comando del botón en la barra de herramientas.
Valor devuelto
Distinto de cero si el botón está presionado, de lo contrario, será cero.
Comentarios
Considere llamar a GetState
si quiere recuperar más de un estado de botón.
CToolBarCtrl::LoadImages
Carga mapas de bits en la lista de imágenes de un control de barra de herramientas.
void LoadImages(
int iBitmapID,
HINSTANCE hinst);
Parámetros
iBitmapID
Identificador de un mapa de bits que contiene las imágenes que se van a cargar. Para especificar su propio recurso de mapa de bits, establezca este parámetro en el identificador de un recurso de mapa de bits y establezca hInst
en NULL
. El recurso de mapa de bits se agregará a la lista de imágenes como una sola imagen. Puede agregar mapas de bits estándar definidos por el sistema estableciendo hinst
HINST_COMMCTRL
en y estableciendo este parámetro en uno de los siguientes identificadores:
Id. de mapa de bits | Descripción |
---|---|
IDB_HIST_LARGE_COLOR |
Mapas de bits del explorador en tamaño grande |
IDB_HIST_SMALL_COLOR |
Mapas de bits del explorador en tamaño pequeño |
IDB_STD_LARGE_COLOR |
Mapas de bits estándar en tamaño grande |
IDB_STD_SMALL_COLOR |
Mapas de bits estándar en tamaño pequeño |
IDB_VIEW_LARGE_COLOR |
Ver mapas de bits en tamaño grande |
IDB_VIEW_SMALL_COLOR |
Ver mapas de bits en tamaño pequeño |
hinst
Manipulador de instancia del programa para la aplicación que realiza la llamada. Este parámetro puede ser HINST_COMMCTRL
para cargar una lista de imágenes estándar.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_LOADIMAGES
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::MapAccelerator
Asigna un carácter de atajo a un botón de barra de herramientas.
BOOL MapAccelerator(
TCHAR chAccel,
UINT* pIDBtn);
Parámetros
chAccel
Carácter de atajo que se va a asignar. Este carácter es el mismo que se subraya en el texto del botón.
pIDBtn
Puntero a un UINT
objeto que recibe el identificador de comando del botón que corresponde al carácter de atajo especificado en chAccel
.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_MAPACCELERATOR
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::MarkButton
Establece el estado de resaltado de un botón determinado en un control de barra de herramientas.
BOOL MarkButton(
int nID,
BOOL fHighlight = TRUE);
Parámetros
nID
Identificador del botón.
fHighlight
Especifica el estado de resaltado que se va a establecer. De forma predeterminada, TRUE
. Si se establece en FALSE
, el botón se establece en su estado predeterminado.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_MARKBUTTON
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::MoveButton
Mueve un botón de un índice a otro.
BOOL MoveButton(
UINT nOldPos,
UINT nNewPos);
Parámetros
nOldPos
Índice de base cero del botón que se va a mover.
nNewPos
Índice de base cero del destino del botón.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_MOVEBUTTON
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::PressButton
Presiona o suelta el botón especificado en un control de barra de herramientas.
BOOL PressButton(int nID, BOOL bPress = TRUE);
Parámetros
nID
[in] Identificador de comando del botón que se va a presionar o soltar.
bPress
[in] TRUE
para presionar el botón especificado, FALSE
para soltarlo. El valor predeterminado es TRUE
.
Valor devuelto
TRUE
si el método es correcto; en caso contrario, FALSE
.
Comentarios
Si desea cambiar más de un estado de botón, considere la posibilidad de llamar a SetState
en su lugar.
Al usar este método, se envía el mensaje TB_PRESSBUTTON
, que se describe en Windows SDK.
CToolBarCtrl::ReplaceBitmap
Reemplaza el mapa de bits existente en el control de barra de herramientas actual por un nuevo mapa de bits.
BOOL ReplaceBitmap(LPTBREPLACEBITMAP pReplaceBitmap);
Parámetros
pReplaceBitmap
[in] Puntero a una estructura TBREPLACEBITMAP
que describe el mapa de bits que se va a reemplazar y el nuevo mapa de bits.
Valor devuelto
TRUE
si este método es correcto; en caso contrario, FALSE
.
Comentarios
Al usar este método, se envía el mensaje TB_REPLACEBITMAP
, que se describe en Windows SDK.
Ejemplo
El siguiente código de ejemplo reemplaza el mapa de bits de la barra de herramientas estándar por otro diferente.
{
// Replace one toolbar bitmap with another.
TBREPLACEBITMAP tbrb;
tbrb.hInstOld = ::AfxGetInstanceHandle();
tbrb.nIDOld = IDR_MAINFRAME;
tbrb.hInstNew = ::AfxGetInstanceHandle();
tbrb.nIDNew = IDR_MAINFRAME1;
tbrb.nButtons = 8;
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
BOOL bRet = m_toolBarCtrl.ReplaceBitmap(&tbrb);
}
CToolBarCtrl::RestoreState
Restaura el estado del control de barra de herramientas desde la ubicación del registro especificada por los parámetros.
void RestoreState(
HKEY hKeyRoot,
LPCTSTR lpszSubKey,
LPCTSTR lpszValueName);
Parámetros
hKeyRoot
Identifica una clave actualmente abierta en el registro o cualquiera de los siguientes valores reservados de manipulador predefinidos:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpszSubKey
Apunta a una cadena terminada en NULL
que contiene el nombre de la subclave con la que está asociado un valor. Este parámetro puede ser NULL
o un puntero a una cadena vacía. Si el parámetro es NULL
, el valor se agregará a la clave identificada por el parámetro hKeyRoot
.
lpszValueName
Apunta a una cadena que contiene el nombre del valor que se va a recuperar. Si un valor con este nombre aún no está presente en la clave, la función lo agrega a la clave.
CToolBarCtrl::SaveState
Guarda el estado del control de barra de herramientas en la ubicación del registro especificada por los parámetros.
void SaveState(
HKEY hKeyRoot,
LPCTSTR lpszSubKey,
LPCTSTR lpszValueName);
Parámetros
hKeyRoot
Identifica una clave actualmente abierta en el registro o cualquiera de los siguientes valores reservados de manipulador predefinidos:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpszSubKey
Apunta a una cadena terminada en NULL
que contiene el nombre de la subclave con la que está asociado un valor. Este parámetro puede ser NULL
o un puntero a una cadena vacía. Si el parámetro es NULL
, el valor se agregará a la clave identificada por el parámetro hKeyRoot
.
lpszValueName
Apunta a una cadena que contiene el nombre del valor que se va a establecer. Si un valor con este nombre aún no está presente en la clave, la función lo agrega a la clave.
CToolBarCtrl::SetAnchorHighlight
Establece la configuración de resaltado del delimitador de una barra de herramientas.
BOOL SetAnchorHighlight(BOOL fAnchor = TRUE);
Parámetros
fAnchor
[in] Especifica si el resaltado de delimitadores está habilitado o deshabilitado. Si este valor es distinto de cero, se habilitará el resaltado de delimitadores. Si este valor es cero, se deshabilitará el resaltado de delimitadores.
Valor devuelto
La configuración anterior del delimitador. Si el resaltado estaba habilitado, este valor es distinto de cero. Si el resaltado no estaba habilitado, este valor es cero.
Comentarios
Este método, implementa el comportamiento del mensaje TB_SETANCHORHIGHLIGHT
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::SetBitmapSize
Establece el tamaño de las imágenes del mapa de bits actuales para agregarlas a un control de barra de herramientas.
BOOL SetBitmapSize(CSize size);
Parámetros
size
Ancho y alto, en píxeles, de las imágenes del mapa de bits.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Solo se debe llamar a esta función antes de agregar mapas de bits a la barra de herramientas. Si la aplicación no establece explícitamente el tamaño del mapa de bits, el valor predeterminado es 16 por 15 píxeles.
CToolBarCtrl::SetButtonInfo
Establece la información de un botón existente en una barra de herramientas.
BOOL SetButtonInfo(
int nID,
TBBUTTONINFO* ptbbi);
Parámetros
nID
Identificador del botón.
ptbbi
Un puntero a una estructura TBBUTTONINFO
que recibe la información del botón.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETBUTTONINFO
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::SetButtonSize
Establece el tamaño de los botones del control de la barra de herramientas.
BOOL SetButtonSize(CSize size);
Parámetros
size
Ancho y alto, en píxeles, de los botones.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
El tamaño del botón siempre debe ser, como mínimo, tan grande como el tamaño del mapa de bits que incluye. Solo se debe llamar a esta función antes de agregar mapas de bits a la barra de herramientas. Si la aplicación no establece explícitamente el tamaño del botón, el valor predeterminado es 24 por 22 píxeles.
Ejemplo
Vea el ejemplo de CToolBar::GetToolBarCtrl
.
CToolBarCtrl::SetButtonStructSize
Especifica el tamaño de la estructura TBBUTTON
.
void SetButtonStructSize(int nSize);
Parámetros
nSize
Tamaño, en bytes, de la estructura TBBUTTON
.
Comentarios
Si desea almacenar datos adicionales en la estructura TBBUTTON
, puede o bien derivar una nueva estructura de TBBUTTON
, agregando los miembros necesarios, o bien crear una nueva estructura que contenga una estructura TBBUTTON
como su primer miembro. Entonces llamaría a esta función para comunicar al control de la barra de herramientas el tamaño de la nueva estructura.
Consulte CToolBarCtrl::AddButtons
para obtener más información sobre la estructura TBBUTTON
.
CToolBarCtrl::SetButtonWidth
Establece el ancho mínimo y máximo del botón en el control de barra de herramientas.
BOOL SetButtonWidth(
int cxMin,
int cxMax);
Parámetros
cxMin
Ancho mínimo del botón, en píxeles. Los botones de la barra de herramientas nunca serán más estrechos que este valor.
cxMax
Ancho máximo del botón, en píxeles. Si el texto del botón es demasiado ancho, el control lo muestra con puntos suspensivos.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETBUTTONWIDTH
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::SetCmdID
Establece el identificador de comando que se va a enviar a la ventana propietaria cuando se presiona el botón especificado.
BOOL SetCmdID(
int nIndex,
UINT nID);
Parámetros
nIndex
Índice de base cero del botón cuyo identificador de comando se va a establecer.
nID
Identificador de comando en el que se va a establecer el botón seleccionado.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
CToolBarCtrl::SetColorScheme
Recupera la combinación de colores del control de la barra de herramientas actual.
void SetColorScheme(const COLORSCHEME* lpColorScheme);
Parámetros
lpColorScheme
[in] Puntero a una estructura COLORSCHEME
que describe el color de resaltado y el color de sombreado del control de barra de herramientas.
Comentarios
Este método no tiene efecto si hay un tema visual de Windows Vista establecido.
Al usar este método, se envía el mensaje TB_SETCOLORSCHEME
, que se describe en Windows SDK.
Ejemplo
El código de ejemplo siguiente establece la combinación de colores para el control de barra de herramientas actual. El código de ejemplo hace que los bordes izquierdo y superior de cada botón de herramienta sean rojos, y los bordes derecho e inferior azules. Cuando el usuario presiona el botón, los bordes rojos se vuelven azules y los azules se vuelven rojos.
//Set color scheme for the current toolbar control.
//Make the left and top edges of the tool button red,
//and the right and bottom edges blue. The colors
//reverse when a button is pressed.
//This method has no effect if the Vista visual theme
//is set.
{
COLORSCHEME cs;
cs.dwSize = sizeof(COLORSCHEME);
cs.clrBtnHighlight = RGB(255, 0, 0);
cs.clrBtnShadow = RGB(0, 0, 255);
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
m_toolBarCtrl.SetColorScheme(&cs);
}
CToolBarCtrl::SetDisabledImageList
Establece la lista de imágenes que usará el control de barra de herramientas para mostrar botones deshabilitados.
CImageList* SetDisabledImageList(CImageList* pImageList);
Parámetros
pImageList
Puntero a un objeto CImageList
que contiene las imágenes que va a usar el control de barra de herramientas para mostrar imágenes de botones deshabilitados.
Valor devuelto
Puntero a un objeto CImageList
usado anteriormente por el control de barra de herramientas para mostrar imágenes de botones deshabilitados.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETDISABLEDIMAGELIST
de Win32, tal y como se describe en Windows SDK. La implementación de MFC de SetDisabledImageList
usa un objeto CImageList
que contiene las imágenes de botones deshabilitados del control de la barra de herramientas, en lugar de un manipulador para una lista de imágenes.
CToolBarCtrl::SetDrawTextFlags
Establece las marcas de la función DrawText
de Win32, que se usa para dibujar el texto en el rectángulo especificado, con formato acorde a cómo se han establecido las marcas.
DWORD SetDrawTextFlags(
DWORD dwMask,
DWORD dwDTFlags);
Parámetros
dwMask
Combinación de una o varias de las marcas DT_
, especificadas en la función DrawText
de Win32, que indica qué bits de dwDTFlags
se usarán al dibujar el texto.
dwDTFlags
Combinación de una o varias marcas DT_
, especificadas en la función DrawText
de Win32, indicando cómo se dibujará el texto del botón. Este valor se pasa a DrawText
cuando se dibuja el texto del botón.
Valor devuelto
Un DWORD
que contiene las marcas de dibujo de texto anteriores.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETDRAWTEXTFLAGS
de Win32, tal y como se describe en Windows SDK. Esta función miembro establece las marcas de la función DrawText
de Win32, que dibuja texto en el rectángulo especificado con el formato acorde a cómo se han establecido las marcas.
CToolBarCtrl::SetExtendedStyle
Establece los estilos extendidos de un control de barra de herramientas.
DWORD SetExtendedStyle(DWORD dwExStyle);
Parámetros
dwExStyle
Valor que especifica los nuevos estilos extendidos. Este parámetro puede ser una combinación de los estilos extendidos de la barra de herramientas.
Valor devuelto
Un DWORD
que representa los estilos extendidos anteriores. Para obtener una lista de estilos, consulte Estilos extendidos de la barra de herramientas, en Windows SDK.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETEXTENDEDSTYLE
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::SetHotImageList
Establece la lista de imágenes que usará el control de barra de herramientas para mostrar botones rápidos.
CImageList* SetHotImageList(CImageList* pImageList);
Parámetros
pImageList
Puntero a un objeto CImageList
que contiene las imágenes que va a usar el control de barra de herramientas para mostrar imágenes de botones rápidos.
Valor devuelto
Puntero a un objeto CImageList
usado anteriormente por el control de barra de herramientas para mostrar imágenes de botones rápidos.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETHOTIMAGELIST
de Win32, tal y como se describe en Windows SDK.
La implementación de MFC de SetHotImageList
usa un objeto CImageList
que contiene las imágenes de botones rápidos del control de la barra de herramientas, en lugar de un manipulador para una lista de imágenes. Un botón rápido aparece resaltado al pasar por encima el puntero.
CToolBarCtrl::SetHotItem
Establece el elemento rápido en una barra de herramientas.
int SetHotItem(int nHot);
Parámetros
nHot
Número de índice de base cero del elemento que se hará rápido. Si este valor es -1, ninguno de los elementos será rápido.
Valor devuelto
Índice del elemento rápido anterior o -1 si no había ninguno.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETHOTITEM
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::SetImageList
Establece la lista de imágenes que usará la barra de herramientas para mostrar botones que estén en su estado predeterminado.
CImageList* SetImageList(CImageList* pImageList);
Parámetros
pImageList
Puntero a un objeto CImageList
que contiene las imágenes que va a usar el control de barra de herramientas para mostrar imágenes de botones en estado predeterminado.
Valor devuelto
Puntero a un objeto CImageList
usado anteriormente por el control de barra de herramientas para mostrar imágenes de botones en estado predeterminado.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETIMAGELIST
de Win32, tal y como se describe en Windows SDK.
La implementación de MFC de SetImageList
usa un objeto CImageList
que contiene las imágenes de botones del control de la barra de herramientas, en lugar de un manipulador para una lista de imágenes.
CToolBarCtrl::SetIndent
Establece la sangría del primer botón de un control de barra de herramientas.
BOOL SetIndent(int iIndent);
Parámetros
iIndent
Valor que especifica la sangría, en píxeles.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
CToolBarCtrl::SetInsertMark
Establece la marca de inserción actual de la barra de herramientas.
void SetInsertMark(TBINSERTMARK* ptbim);
Parámetros
ptbim
Puntero a la estructura TBINSERTMARK
que contiene la marca de inserción.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETINSERTMARK
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::SetInsertMarkColor
Establece el color usado para dibujar la marca de inserción de la barra de herramientas.
COLORREF SetInsertMarkColor(COLORREF clrNew);
Parámetros
clrNew
Un valor COLORREF
que contiene el nuevo color de la marca de inserción.
Valor devuelto
Un valor COLORREF
que contiene el anterior color de la marca de inserción.
Comentarios
En esta función miembro, se implementa el comportamiento del mensaje TB_SETINSERTMARKCOLOR
de Win32, tal y como se describe en Windows SDK.
CToolBarCtrl::SetMaxTextRows
Establece el número máximo de filas de texto mostradas en un botón de barra de herramientas.
BOOL SetMaxTextRows(int iMaxRows);
Parámetros
iMaxRows
Número máximo de filas que se establecerán.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
CToolBarCtrl::SetMetrics
Establece las métricas del objeto CToolBarCtrl
.
void SetMetrics(LPTBMETRICS ptbm);
Parámetros
ptbm
Un puntero a la estructura TBMETRICS
del objeto CToolBarCtrl
.
Comentarios
Esta función miembro se usa para emular la funcionalidad del mensaje TB_SETMETRICS
, tal como se describe en Windows SDK.
CToolBarCtrl::SetOwner
Establece la ventana propietaria del control de barra de herramientas.
void SetOwner(CWnd* pWnd);
Parámetros
pWnd
Puntero al objeto derivado de CWnd
o CWnd
que será la nueva ventana propietaria del control de barra de herramientas.
Comentarios
La ventana propietaria es la ventana que recibe notificaciones de la barra de herramientas.
CToolBarCtrl::SetPadding
Establece el relleno horizontal y vertical del control de barra de herramientas actual.
DWORD SetPadding(
int nHorzPadding,
int nVertPadding);
Parámetros
nHorzPadding
[in] Especifica el relleno horizontal del control de barra de herramientas, en píxeles.
nVertPadding
[in] Especifica el relleno vertical del control de barra de herramientas, en píxeles.
Valor devuelto
Un DWORD
cuya palabra baja contiene el valor de relleno horizontal anterior y cuya palabra alta contiene el valor de relleno vertical anterior. Los valores de relleno se miden en píxeles.
Comentarios
Al usar este método, se envía el mensaje TB_SETPADDING
, que se describe en Windows SDK.
Ejemplo
El ejemplo de código siguiente establece el relleno horizontal y vertical del control de la barra de herramientas actual en 20 píxeles.
{
// Set the horizontal and vertical padding of the current
// toolbar control.
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
m_toolBarCtrl.SetPadding(50, 50);
}
CToolBarCtrl::SetPressedImageList
Establece la lista de imágenes que usa el control de barra de herramientas actual para representar botones en estado presionado.
CImagelist* SetPressedImageList(
int iImageID,
CImageList* pImageList);
Parámetros
iImageID
[in] Índice de base cero de la lista de imágenes. Establezca este parámetro en cero si usa solo una lista de imágenes.
pImageList
[in] Puntero a un objeto CImageList
que contiene la nueva lista de imágenes.
Valor devuelto
Un puntero a un CImageList
que contiene la anterior lista de imágenes para el control actual, o NULL
si no se estableció dicha lista de imágenes.
Comentarios
Al usar este método, se envía el mensaje TB_SETPRESSEDIMAGELIST
, que se describe en Windows SDK.
Ejemplo
El siguiente código de ejemplo establece que la lista de imágenes presionadas sea la misma que la de imágenes predeterminadas.
{
// SetPressedImageList
// Set the pressed image list to be the same as the
// normal image list.
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
CImageList *pNormalCil = m_toolBarCtrl.GetImageList();
CImageList *pPressedCil = m_toolBarCtrl.GetPressedImageList();
m_toolBarCtrl.SetPressedImageList(0, pNormalCil);
}
CToolBarCtrl::SetRows
Pide al control de barra de herramientas que cambie su tamaño al número solicitado de filas.
void SetRows(
int nRows,
BOOL bLarger,
LPRECT lpRect);
Parámetros
nRows
Número de filas solicitadas.
bLarger
Indica si se deben usar más filas o menos filas si no se puede cambiar el tamaño de la barra de herramientas al número solicitado de filas.
lpRect
Apunta al objeto CRect
o a la estructura RECT
que recibirá el nuevo rectángulo delimitador de la barra de herramientas.
Comentarios
Si la barra de herramientas no puede cambiar su tamaño al número o las filas solicitados, se cambiará de tamaño a la siguiente tamaño válido mayor o siguiente más pequeño, en función del valor de bLarger
. Si bLarger
es TRUE
, el nuevo número de filas será mayor que el solicitado. Si bLarger
es FALSE
, el nuevo número de filas será menor que el solicitado.
Un número determinado de filas es válido para la barra de herramientas si los botones se pueden organizar de forma que todas las filas tengan el mismo número de botones (excepto, quizá, la última fila). Por ejemplo, una barra de herramientas que contiene cuatro botones no se puede ajustar a tres filas porque las dos últimas filas tendrían que ser más cortas. Si intentara ajustar su tamaño a tres filas, obtendría cuatro filas si bLarger
fuera TRUE
y dos filas si bLarger
fuera FALSE
.
Si hay separadores en la barra de herramientas, las reglas sobre qué número determinado de filas es válido son más complicados. El diseño se calcula de forma que los grupos de botones (botones con un separador antes del primero y el último botón del grupo) nunca se dividen en varias filas a menos que el grupo no se ajuste a una fila.
Si un grupo no cabe en una fila, el siguiente grupo se iniciará en la fila siguiente, incluso si cabe en la fila en la que finalizó el grupo grande. El propósito de esta regla es hacer que la separación entre grupos grandes sea más notable. Los separadores verticales resultantes se cuentan como filas.
Tenga en cuenta también que la función miembro SetRows
siempre elegirá el diseño que resulte en el tamaño de barra de herramientas más pequeño posible. Crear una barra de herramientas con el estilo TBSTYLE_WRAPABLE
y cambiar después el tamaño del control simplemente aplicará el método descrito anteriormente según el ancho del control.
Solo se puede llamar a esta función para las barras de herramientas que se crearon con el estilo TBSTYLE_WRAPABLE
.
CToolBarCtrl::SetState
Establece el estado del botón especificado en un control de barra de herramientas.
BOOL SetState(
int nID,
UINT nState);
Parámetros
nID
Identificador de comando del botón.
nState
Marcas de estado. Puede ser una combinación de los valores enumerados para los estados de los botones en CToolBarCtrl::AddButtons
.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Esta función es especialmente útil si desea establecer más de uno de los estados del botón. Para establecer un solo estado, use una de las siguientes funciones miembro: EnableButton
, CheckButton
, HideButton
, Indeterminate
o PressButton
.
CToolBarCtrl::SetStyle
Establece los estilos de un control de barra de herramientas.
void SetStyle(DWORD dwStyle);
Parámetros
dwStyle
Un DWORD
que contiene una combinación de estilos de control de barra de herramientas, como se describe en Windows SDK.
CToolBarCtrl::SetToolTips
Asocia un control de información sobre herramientas con un control de barra de herramientas.
void SetToolTips(CToolTipCtrl* pTip);
Parámetros
pTip
Puntero al objeto CToolTipCtrl
.
CToolBarCtrl::SetWindowTheme
Establece el estilo visual del objeto CToolBarCtrl
.
HRESULT SetWindowTheme(LPCWSTR pszSubAppName);
Parámetros
pszSubAppName
Un puntero con una cadena Unicode que contiene el estilo visual de la barra de herramientas que se va a establecer.
Valor devuelto
No se usa el valor devuelto.
Comentarios
Esta función miembro se usa para emular la funcionalidad del mensaje TB_SETWINDOWTHEME
, tal como se describe en Windows SDK.
Consulte también
Ejemplo de MFCCMNCTRL1
Ejemplo de MFCMFCIE
CWnd
(clase)
Gráfico de jerarquías
CToolBar
(clase)