Clase wxToolBar
Una barra de herramientas es una barra de botones y/u otros controles que suele colocarse debajo de la barra de menús en un wxFrame.
Jerarquía:

Se puede crear una barra de herramientas gestionada por un marco llamando a wxFrame::CreateToolBar(). Si se gestionan barras de herramientas propias, crear wxToolBar como de costumbre.
Hay varios tipos diferentes de herramientas que puede añadir a una barra de herramientas. Estos tipos se controlan mediante ea enumerado wxItemKind.
Hay que tener en cuenta que muchos métodos de wxToolBar, como wxToolBar::AddTool, devuelven un objeto wxToolBarToolBase*. Esto debe considerarse como un identificador opaco que representa el elemento de la barra de herramientas recién añadido, y que proporciona acceso a su id y posición dentro de la barra de herramientas. Los cambios en el estado del elemento deben realizarse mediante llamadas a los métodos wxToolBar, por ejemplo, wxToolBar::EnableTool. Las llamadas a los métodos wxToolBarToolBase* (que están sin documentar a propósito) no cambiarán el estado visible del elemento dentro de la barra de herramientas.
Después de añadir todas las herramientas que se necesiten, se debe llamar a Realize() para construir y mostrar la barra de herramientas de forma efectiva.
Nota sobre wxMSW: Hay que tener en cuenta que en wxMSW, la barra de herramientas pinta las herramientas para reflejar los colores de todo el sistema. Si se utilizan más de 16 colores en los mapas de bits de las herramientas, es posible que se desee suprimir este comportamiento, ya que, de lo contrario, los colores del sistema en sus mapas de bits se asignarán inadvertidamente a los colores del sistema. Para ello, configurar la opción del sistema msw.remap antes de crear la barra de herramientas:
wxSystemOptions::SetOption("msw.remap", 0);
Si se desea utilizar imágenes de 32 bits (que incluyen un canal alfa para la transparencia), utilizar:
wxSystemOptions::SetOption("msw.remap", 2);
A continuación, se desactivará la reasignación de colores y se utilizará un fondo transparente. Sin embargo, utilizar esta opción sólo en Windows XP con color verdadero:
if (wxTheApp->GetComCtl32Version() >= 600 && ::wxDisplayDepth() >= 32)
Estilos
Esta clase admite los siguientes estilos:
- wxTB_FLAT
- Da a la barra de herramientas un aspecto plano (sólo Windows y GTK).
- wxTB_DOCKABLE
- Hace que la barra de herramientas sea flotante y acoplable (sólo GTK).
- wxTB_HORIZONTAL
- Especifica la disposición horizontal (predeterminada).
- wxTB_VERTICAL
- Especifica el diseño vertical.
- wxTB_TEXT
- Muestra el texto en los botones de la barra de herramientas; por defecto sólo se muestran los iconos.
- wxTB_NOICONS
- Especifica que no haya iconos en los botones de la barra de herramientas; por defecto se muestran.
- wxTB_NODIVIDER
- Especifica que no haya divisor (borde) encima de la barra de herramientas (sólo Windows).
- wxTB_NOALIGN
- Especifica que no haya alineación con la ventana principal (sólo en Windows, no es muy útil).
- wxTB_HORZ_LAYOUT
- Muestra el texto y los iconos uno al lado del otro, no apilados verticalmente (sólo en Windows y GTK 2). Este estilo debe utilizarse con wxTB_TEXT.
- wxTB_HORZ_TEXT
- Combinación de wxTB_HORZ_LAYOUT y wxTB_TEXT.
- wxTB_NO_TOOLTIPS
- No muestra las herramientas de ayuda breve cuando se pasa el ratón por encima de ellas.
- wxTB_BOTTOM
- Alinea la barra de herramientas en la parte inferior de la ventana principal.
- wxTB_RIGHT
- Alinea la barra de herramientas en el lado derecho de la ventana principal.
- wxTB_DEFAULT_STYLE
- El estilo wxTB_HORIZONTAL. Este estilo es nuevo desde wxWidgets 2.9.5.
Ver también los estilos de ventana. Hay que tener en cuenta que la barra de herramientas nativa de wxMSW ignora el estilo wxTB_NOICONS. Además, la alternancia de wxTB_TEXT sólo funciona si el estilo estaba inicialmente activado.
Eventos emitidos por esta clase
Las siguientes macros de controlador de eventos redirigen los eventos a los controladores de funciones miembro "func" con prototipos como:
void handlerFuncName(wxCommandEvent& event)
Macros de eventos para eventos emitidos por esta clase:
- EVT_TOOL(id, func)
- Procesa un evento wxEVT_TOOL (sinónimo de wxEVT_MENU). Pasa el id de la herramienta.
- EVT_MENU(id, func)
- Igual que EVT_TOOL().
- EVT_TOOL_RANGE(id1, id2, func)
- Procesa un evento wxEVT_TOOL para un rango de identificadores. Pasa los identificadores de las herramientas.
- EVT_MENU_RANGE(id1, id2, func)
- Igual que EVT_TOOL_RANGE().
- EVT_TOOL_RCLICKED(id, func)
- Procesa un evento wxEVT_TOOL_RCLICKED. Pasa el id de la herramienta. (No disponible en wxOSX).
- EVT_TOOL_RCLICKED_RANGE(id1, id2, func)
- Procesa un evento wxEVT_TOOL_RCLICKED para un rango de identificadores. Pasa los identificadores de las herramientas. (No disponible en wxOSX).
- EVT_TOOL_ENTER(id, func)
- Procesa un evento wxEVT_TOOL_ENTER. Pasa el id de la barra de herramientas. El valor de wxCommandEvent::GetSelection() es el id de la herramienta, o -1 si el cursor del ratón se ha movido fuera de una herramienta. (No disponible en wxOSX).
- EVT_TOOL_DROPDOWN(id, func)
- Procesa un evento wxEVT_TOOL_DROPDOWN. Si no se gestiona, muestra el menú desplegable predeterminado establecido mediante wxToolBar::SetDropdownMenu().
La clase de barra de herramientas emite comandos de menú de la misma manera que lo hace la barra de menú de un marco, por lo que se puede utilizar una macro EVT_MENU() tanto para un elemento de menú como para un botón de la barra de herramientas. Las funciones del controlador de eventos toman un argumento wxCommandEvent. Para la mayoría de las macros de eventos, se pasa el identificador de la herramienta, pero para EVT_TOOL_ENTER() se pasa el identificador de la ventana de la barra de herramientas y el identificador de la herramienta se recupera de wxCommandEvent. Esto se debe a que el identificador puede ser wxID_ANY cuando el ratón se aleja de una herramienta, y wxID_ANY no está permitido como identificador en el sistema de eventos.
Funciones miembro
wxToolBar()
wxToolBar::wxToolBar()
Constructor por defecto.
wxToolBar()
wxToolBar::wxToolBar( wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxTB_HORIZONTAL, const wxString & name = wxToolBarNameStr )
Construye una barra de herramientas.
Parámetros
- parent
- Puntero a una ventana principal.
- id
- Identificador de la ventana. Si es -1, se creará automáticamente un identificador.
- pos
- Posición de la ventana. wxDefaultPosition indica que wxWidgets debe generar una posición predeterminada para la ventana. Si se utiliza directamente la clase wxWindow, se debe proporcionar una posición real.
- size
- Tamaño de la ventana. wxDefaultSize indica que wxWidgets debe generar un tamaño predeterminado para la ventana.
- style
- Estilo de la ventana. Consultar la descripción inicial de wxToolBar para obtener más detalles.
- name
- Nombre de la ventana.
Observaciones
Después de crear una barra de herramientas, utilizar AddTool() y, si se desea, AddSeparator(), y luego se debe llamar a Realize() para construir y mostrar las herramientas de la barra de herramientas.
~wxToolBar()
virtual wxToolBar::~wxToolBar()
Destructor de la barra de herramientas.
AddCheckTool()
wxToolBarToolBase* wxToolBar::AddCheckTool( int toolId, const wxString & label, const wxBitmapBundle & bitmap1, const wxBitmapBundle & bmpDisabled = wxNullBitmap, const wxString & shortHelp = wxEmptyString, const wxString & longHelp = wxEmptyString, wxObject * clientData = nullptr )
Añade una nueva herramienta de verificación (o alternancia) a la barra de herramientas.
Los parámetros son los mismos que en AddTool().
AddControl()
virtual wxToolBarToolBase* wxToolBar::AddControl( wxControl * control, const wxString & label = wxEmptyString )
Añade cualquier control a la barra de herramientas, por ejemplo, un wxComboBox.
Parámetros
- control
- El control que se va a añadir.
- label
- Texto que se mostrará junto al control.
Observaciones
wxMac: las etiquetas sólo se muestran si wxWidgets se compila con wxOSX_USE_NATIVE_TOOLBAR establecido en 1 (que es el valor predeterminado).
AddRadioTool()
wxToolBarToolBase* wxToolBar::AddRadioTool( int toolId, const wxString & label, const wxBitmapBundle & bitmap1, const wxBitmapBundle & bmpDisabled = wxNullBitmap, const wxString & shortHelp = wxEmptyString, const wxString & longHelp = wxEmptyString, wxObject * clientData = nullptr )
Añade una nueva herramienta de radio a la barra de herramientas.
Las herramientas de radio consecutivas forman un grupo de radio de tal manera que sólo se puede pulsar un botón del grupo en cada momento; en otras palabras, cada vez que se pulsa un botón del grupo, el botón pulsado anteriormente se libera automáticamente. Debe evitarse crear grupos de radio con un solo elemento, ya que sería imposible para el usuario utilizar dicho botón.
Por defecto, el primer botón del grupo de radio está pulsado inicialmente, mientras que los demás no lo están.
AddSeparator()
virtual wxToolBarToolBase* wxToolBar::AddSeparator()
Añade un separador para espaciar grupos de herramientas.
Hay que tener en cuenta que el separador utiliza el aspecto adecuado para la plataforma actual, por lo que puede ser una línea vertical (MSW, algunas versiones de GTK) o simplemente un espacio en blanco u otra cosa.
AddStretchableSpace()
wxToolBarToolBase* wxToolBar::AddStretchableSpace()
Añade un espacio extensible a la barra de herramientas.
Cualquier espacio no ocupado por los elementos fijos (todos los elementos excepto los espacios extensibles) se distribuye a partes iguales entre los espacios extensibles de la barra de herramientas. El uso más común de este método es añadir un único espacio extensible antes de los elementos que deben alinearse a la derecha en la barra de herramientas, pero existen otras posibilidades más exóticas, por ejemplo, se puede añadir un espacio extensible al principio y al final de la barra de herramientas para centrar todos los elementos de la barra.
AddTool()
wxToolBarToolBase* wxToolBar::AddTool( int toolId, const wxString & label, const wxBitmapBundle & bitmap, const wxBitmapBundle & bmpDisabled, wxItemKind kind = wxITEM_NORMAL, const wxString & shortHelp = wxEmptyString, const wxString & longHelp = wxEmptyString, wxObject * clientData = nullptr )
Añade una herramienta a la barra de herramientas.
Parámetros
- toolId
- Un entero con el que se puede identificar la herramienta en operaciones posteriores.
- label
- La cadena que se mostrará con la herramienta.
- bitmap
- El mapa de bits principal de la herramienta.
- bmpDisabled
- El mapa de bits que se utiliza cuando la herramienta está desactivada. Si es igual a wxNullBitmap (por defecto), el mapa de bits desactivado se genera automáticamente atenuando el normal.
- kind
- Puede ser wxITEM_NORMAL para un botón normal (predeterminado), wxITEM_CHECK para una herramienta que se puede marcar (dicha herramienta permanece pulsada después de haber sido activada) o wxITEM_RADIO para una herramienta que se puede marcar y que forma parte de un grupo de herramientas de radio, cada una de las cuales se desmarca automáticamente cuando se marca otro botón del grupo. wxITEM_DROPDOWN especifica que aparecerá un botón de menú desplegable junto al botón de la herramienta (solo GTK+ y MSW). A continuación, llamar a SetDropdownMenu().
- shortHelp
- Esta cadena se utiliza para la información sobre herramientas.
- longHelp
- Esta cadena se muestra en la barra de estado (si la hay) del marco principal cuando el puntero del ratón se encuentra dentro de la herramienta.
- clientData
- Un puntero opcional a los datos del cliente que se pueden recuperar más tarde utilizando GetToolClientData().
Observaciones
Después de añadir herramientas a una barra de herramientas, debe llamar a Realize() para que las herramientas aparezcan.
AddTool()
wxToolBarToolBase* wxToolBar::AddTool( int toolId, const wxString & label, const wxBitmapBundle & bitmap, const wxString & shortHelp = wxEmptyString, wxItemKind kind = wxITEM_NORMAL )
Añade una herramienta a la barra de herramientas.
Esta versión, la más utilizada, tiene menos parámetros que la versión completa que se muestra arriba, que especifica las funciones del botón menos utilizadas.
Parámetros
- toolId
- Un número entero con el que se puede identificar la herramienta en operaciones posteriores.
- label
- La cadena que se mostrará con la herramienta. Esta cadena puede incluir mnemónicos, es decir, caracteres precedidos por un símbolo "&" pero estos se eliminan y no se muestran realmente en la barra de herramientas, ya que las herramientas no se pueden activar desde el teclado.
- bitmap
- El mapa de bits principal de la herramienta.
- shortHelp
- Esta cadena se utiliza para la información sobre herramientas.
- kind
- Puede ser wxITEM_NORMAL para un botón normal (predeterminado), wxITEM_CHECK para una herramienta que se puede marcar (dicha herramienta permanece pulsada después de haber sido activada) o wxITEM_RADIO para una herramienta que se puede marcar y que forma parte de un grupo de herramientas de radio, cada una de las cuales se desmarca automáticamente cuando se marca otro botón del grupo. wxITEM_DROPDOWN especifica que aparecerá un botón de menú desplegable junto al botón de la herramienta (solo GTK+ y MSW). A continuación, llame a SetDropdownMenu().
Observaciones
Después de añadir herramientas a una barra de herramientas, se debe llamar a Realize() para que las herramientas aparezcan.
AddTool()
virtual wxToolBarToolBase* wxToolBar::AddTool(wxToolBarToolBase * tool)
Añade una herramienta a la barra de herramientas.
Parámetros
- tool
- La herramienta que se va a añadir.
Observaciones
Después de añadir herramientas a una barra de herramientas, debe llamar a Realize() para que las herramientas aparezcan.
ClearTools()
virtual void wxToolBar::ClearTools()
Elimina todas las herramientas de la barra de herramientas.
CreateSeparator()
wxToolBarToolBase* wxToolBar::CreateSeparator()
Función de base para crear una nueva herramienta de barra de herramientas separadora.
CreateTool()
virtual wxToolBarToolBase* wxToolBar::CreateTool( int toolId, const wxString & label, const wxBitmapBundle & bmpNormal, const wxBitmapBundle & bmpDisabled = wxNullBitmap, wxItemKind kind = wxITEM_NORMAL, wxObject * clientData = nullptr, const wxString & shortHelp = wxEmptyString, const wxString & longHelp = wxEmptyString )
Función de base para crear una nueva herramienta de barra de herramientas.
CreateTool()
virtual wxToolBarToolBase* wxToolBar::CreateTool( wxControl * control, const wxString & label )
Función de base para crear una nueva herramienta de la barra de herramientas de control.
DeleteTool()
virtual bool wxToolBar::DeleteTool(int toolId)
Elimina la herramienta especificada de la barra de herramientas y la borra.
Si no desea borrar la herramienta, sino sólo eliminarla de la barra de herramientas (para volver a añadirla más adelante), se puede utilizar RemoveTool() en su lugar.
Nota: No es necesario llamar a Realize() para que el cambio se aplique, ya que se aplicará inmediatamente.
Valor de retorno
true si la herramienta se ha borrado, false en caso contrario.
DeleteToolByPos()
virtual bool wxToolBar::DeleteToolByPos(size_t pos)
Esta función se comporta como DeleteTool(), pero elimina la herramienta en la posición especificada y no la que tiene el identificador dado.
EnableTool()
virtual void wxToolBar::EnableTool( int toolId, bool enable )
Activa o desactiva la herramienta.
Parámetros
- toolId
- ID de la herramienta que se va a activar o desactivar, tal y como se pasa a AddTool().
- enable
- Si es true, activa la herramienta; en caso contrario, la desactiva.
Observaciones
Algunas implementaciones cambiarán el estado visible de la herramienta para indicar que está desactivada.
FindById()
wxToolBarToolBase* wxToolBar::FindById(int id) const
Devuelve un puntero a la herramienta identificada por id o nullptr si no se encuentra ninguna herramienta correspondiente.
FindControl()
virtual wxControl* wxToolBar::FindControl(int id)
Devuelve un puntero al control identificado por id o nullptr si no se encuentra ningún control correspondiente.
FindToolForPosition()
virtual wxToolBarToolBase* wxToolBar::FindToolForPosition( wxCoord x, wxCoord y ) const
Busca una herramienta para la posición del ratón dada.
Parámetros
- x
- Posición X.
- y
- Posición Y.
Valor de retorno
Un puntero a una herramienta si se encuentra una herramienta, o nullptr en caso contrario.
Observaciones
Actualmente no está implementado en wxGTK (siempre devuelve nullptr allí).
GetMargins()
wxSize wxToolBar::GetMargins() const
Devuelve los márgenes izquierdo/derecho y superior/inferior, que también se utilizan para el espaciado entre herramientas.
GetToolBitmapSize()
virtual wxSize wxToolBar::GetToolBitmapSize() const
Devuelve el tamaño del mapa de bits que la barra de herramientas espera tener.
El tamaño predeterminado del mapa de bits depende de la plataforma: por ejemplo, es 16*15 para MSW y 24*24 para GTK. Este tamaño no indica necesariamente el mejor tamaño para las barras de herramientas en la plataforma dada, para ello debe utilizar wxArtProvider::GetNativeSizeHint(wxART_TOOLBAR), pero en cualquier caso, como el tamaño del mapa de bits se deduce automáticamente del tamaño de los mapas de bits asociados a las herramientas añadidas a la barra de herramientas, normalmente no es necesario llamar a esta función ni a SetToolBitmapSize().
Esta función devuelve el tamaño en píxeles lógicos, para mantener la coherencia con SetToolBitmapSize(), que toma el tamaño en píxeles lógicos. Consultar Compatibilidad con alta resolución en wxWidgets para obtener más información sobre los diferentes tipos de píxeles y cómo convertirlos entre sí.
Observaciones
Hay que tener en cuenta que este es el tamaño del mapa de bits que se pasa a AddTool(), y no el tamaño final del botón de la herramienta.
GetToolByPos()
wxToolBarToolBase* wxToolBar::GetToolByPos(int pos)
Devuelve un puntero a la herramienta en la posición ordinal pos.
No confundir con FindToolForPosition().
GetToolByPos()
const wxToolBarToolBase* wxToolBar::GetToolByPos(int pos) const
GetToolClientData()
virtual wxObject* wxToolBar::GetToolClientData(int toolId) const
Obtener cualquier dato del cliente asociado con la herramienta.
Parámetros
- toolId
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
Valor de retorno
Datos del cliente, o nullptr si no hay ninguno.
GetToolEnabled()
virtual bool wxToolBar::GetToolEnabled(int toolId) const
Se llama para determinar si una herramienta está habilitada (responde a la entrada del usuario).
Parámetros
- toolId
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
Valor de retorno
true si la herramienta está habilitada, false en caso contrario.
GetToolLongHelp()
virtual wxString wxToolBar::GetToolLongHelp(int toolId) const
Devuelve la ayuda detallada para la herramienta especificada.
Parámetros
- toolId
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
GetToolPacking()
virtual int wxToolBar::GetToolPacking() const
Devuelve el valor utilizado para empaquetar herramientas.
GetToolPos()
virtual int wxToolBar::GetToolPos(int toolId) const
Devuelve la posición de la herramienta en la barra de herramientas, o wxNOT_FOUND si no se encuentra la herramienta.
Parámetros
- toolId<
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
GetToolsCount()
size_t wxToolBar::GetToolsCount() const
Devuelve el número de herramientas que hay en la barra de herramientas.
GetToolSeparation()
virtual int wxToolBar::GetToolSeparation() const
Devuelve el tamaño del separador predeterminado.
GetToolShortHelp()
virtual wxString wxToolBar::GetToolShortHelp(int toolId) const
Devuelve la ayuda breve para la herramienta dada.
Parámetros
- toolId
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
GetToolSize()
virtual wxSize wxToolBar::GetToolSize() const
Devuelve el tamaño de un botón completo, que suele ser mayor que el de un mapa de bits de herramienta debido a los efectos 3D añadidos.
GetToolState()
virtual bool wxToolBar::GetToolState(int toolId) const
Obtiene el estado activado/desactivado de una herramienta de alternancia.
Parámetros
- toolId
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
Valor de retorno
true si la herramienta está activada, false en caso contrario.
InsertControl()
virtual wxToolBarToolBase* wxToolBar::InsertControl( size_t pos, wxControl * control, const wxString & label = wxEmptyString )
Inserta el control en la barra de herramientas en la posición indicada.
Se debe llamar a Realize() para que el cambio se haga efectivo.
InsertSeparator()
virtual wxToolBarToolBase* wxToolBar::InsertSeparator(size_t pos)
Inserta el separador en la barra de herramientas en la posición indicada.
Se debe llamar a Realize() para que el cambio se aplique.
InsertStretchableSpace()
wxToolBarToolBase* wxToolBar::InsertStretchableSpace(size_t pos)
Inserta un espacio extensible en la posición indicada.
Consultar AddStretchableSpace() para obtener más información sobre los espacios extensibles.
InsertTool()
wxToolBarToolBase* wxToolBar::InsertTool( size_t pos, int toolId, const wxString & label, const wxBitmapBundle & bitmap, const wxBitmapBundle & bmpDisabled = wxNullBitmap, wxItemKind kind = wxITEM_NORMAL, const wxString & shortHelp = wxEmptyString, const wxString & longHelp = wxEmptyString, wxObject * clientData = nullptr )
Inserta la herramienta con los atributos especificados en la barra de herramientas en la posición indicada.
Se debe llamar a Realize() para que el cambio se haga efectivo.
Valor de retorno
La herramienta recién insertada o nullptr en caso de fallo. Hay que tener en cuenta que, con la sobrecarga que toma el parámetro de la herramienta, el autor de la llamada es responsable de eliminar la herramienta en el último caso.
InsertTool()
wxToolBarToolBase* wxToolBar::InsertTool( size_t pos, wxToolBarToolBase * tool )
Inserta la herramienta con los atributos especificados en la barra de herramientas en la posición indicada.
Se debe llamar a Realize() para que el cambio se haga efectivo.
Valor de retorno
La herramienta recién insertada o nullptr en caso de fallo. Hay que tener en cuenta que, con la sobrecarga que toma el parámetro de la herramienta, el autor de la llamada es responsable de eliminar la herramienta en el último caso.
OnLeftClick()
virtual bool wxToolBar::OnLeftClick( int toolId, bool toggleDown )
Se invoca cuando el usuario hace clic con el botón izquierdo del ratón sobre una herramienta.
Esta es la forma antigua de detectar clics sobre herramientas; aunque sigue funcionando, se recomienda utilizar las macros <EVT_MENU() o EVT_TOOL() en su lugar.
Parámetros
- toolId
- El identificador pasado a AddTool().
- toggleDown
- true si la herramienta es un conmutador y el conmutador está activado, false en caso contrario.
Valor de retorno
Si la herramienta es una herramienta con alternador y esta función devuelve false, el estado del alternador (interno y visual) no cambiará. Esto proporciona una forma de especificar que las operaciones con alternador no están permitidas en algunas circunstancias.
OnMouseEnter()
virtual void wxToolBar::OnMouseEnter(int toolId)
Se llama a esta función cuando el cursor del ratón se mueve dentro de una herramienta o fuera de la barra de herramientas.
Esta es la forma antigua de detectar eventos de entrada del ratón; aunque sigue funcionando, se recomienda utilizar la macro EVT_TOOL_ENTER() en su lugar.
Parámetros
- toolId
- Mayor que -1 si el cursor del ratón se ha movido dentro de la herramienta, o -1 si el cursor del ratón se ha movido. El programador puede anular esto para proporcionar información adicional sobre la herramienta, como una breve descripción en la línea de estado.
Observaciones
Con algunas clases de barra de herramientas derivadas, si el ratón se mueve rápidamente fuera de la barra de herramientas, es posible que wxWidgets no pueda detectarlo. Por lo tanto, es posible que esta función no siempre se llame cuando se espera.
OnRightClick()
virtual void wxToolBar::OnRightClick( int toolId, long x, long y )
Obsoleto
Esta es la forma antigua de detectar clics con el botón derecho del ratón; aunque seguirá funcionando, se recomienda utilizar la macro EVT_TOOL_RCLICKED() en su lugar.
Se llama cuando el usuario hace clic con el botón derecho del ratón sobre una herramienta. El programador debe sobrescribir esta función para detectar los clics con el botón derecho del ratón sobre las herramientas.
Parámetros
- toolId
- El identificador pasado a AddTool().
- x
- La posición x del cursor del ratón.
- y
- La posición y del cursor del ratón.
Observaciones
Un uso típico de este miembro podría ser mostrar un menú emergente.
Realize()
virtual bool wxToolBar::Realize()
Esta función debe llamarse después de haber añadido herramientas.
RemoveTool()
virtual wxToolBarToolBase* wxToolBar::RemoveTool(int id)
Elimina la herramienta indicada de la barra de herramientas, pero no la borra.
Esto permite volver a insertar/añadir esta herramienta a esta (u otra) barra de herramientas más adelante.
Nota: No es necesario llamar a Realize() para que el cambio se produzca, ya que se aplicará inmediatamente.
SetDropdownMenu()
bool wxToolBar::SetDropdownMenu( int id, wxMenu * menu )
Establece el menú desplegable para la herramienta dada por su id.
La propia herramienta eliminará el menú cuando ya no sea necesario. Sólo es compatible con GTK+ y MSW.
Si se define un controlador EVT_TOOL_DROPDOWN() en el programa, debe llamar a wxEvent::Skip() desde él o el menú no se mostrará.
SetMargins()
void wxToolBar::SetMargins(const wxSize & size)
Establece los márgenes de la barra de herramientas.
Parámetros
- size
- Tamaño del margen.
Observaciones
Debe llamarse antes de añadir las herramientas si se va a utilizar el posicionamiento absoluto y se van a anular los márgenes predeterminados (tamaño cero).
SetMargins()
virtual void wxToolBar::SetMargins( int x, int y )
Establece los valores que se utilizarán como márgenes para la barra de herramientas.
Parámetros
- x
- Margen izquierdo, margen derecho y valor de separación entre herramientas.
- y
- Margen superior, margen inferior y valor de separación entre herramientas.
Observaciones
Debe llamarse antes de añadir las herramientas si se va a utilizar el posicionamiento absoluto y se van a anular los márgenes predeterminados (tamaño cero).
SetToolBitmapSize()
virtual void wxToolBar::SetToolBitmapSize(const wxSize & size)
Establece el tamaño predeterminado de cada mapa de bits de herramienta.
Por lo general, no es necesario llamar a esta función, ya que las herramientas siempre se crearán con un tamaño suficiente para adaptarse al tamaño de los mapas de bits utilizados en ellas. Además, al llamarla, se obliga a wxToolBar a escalar sus imágenes en DPI alto utilizando el tamaño proporcionado, en lugar de dejar que wxBitmapBundle, utilizado para los mapas de bits de las herramientas, determine el tamaño de mapa de bits más adecuado, lo que puede dar lugar a un aspecto no óptimo.
Si se la llama, debe hacerse antes de que la barra de herramientas se realice con Realize().
Ejemplo de uso de esta función para forzar que los mapas de bits tengan al menos 32 píxeles de ancho y alto (con DPI normal):
toolbar->SetToolBitmapSize(FromDIP(wxSize(32, 32))); toolbar->AddTool(wxID_NEW, "New", wxBitmapBundle::FromXXX(...)); ... toolbar->Realize();
Parámetros
- size
- El tamaño de los mapas de bits de la barra de herramientas en píxeles lógicos.
SetToolClientData()
virtual void wxToolBar::SetToolClientData( int id, wxObject * clientData )
Establece los datos del cliente asociados con la herramienta.
Parámetros
- id
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
- clientData
- Los datos del cliente que se van a utilizar.
SetToolDisabledBitmap()
virtual void wxToolBar::SetToolDisabledBitmap( int id, const wxBitmapBundle & bitmap )
Establece el mapa de bits que utilizará la herramienta con el ID dado cuando la herramienta esté desactivada.
Esto solo se puede utilizar en herramientas de botón, no en controles.
Parámetros
- id
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
- bitmap
- Mapa de bits que se utilizará para las herramientas desactivadas.
Nota: Las clases de barra de herramientas nativas de las principales plataformas sintetizan el mapa de bits deshabilitado a partir del mapa de bits normal, por lo que esta función no tendrá ningún efecto en esas plataformas.
SetToolLongHelp()
virtual void wxToolBar::SetToolLongHelp( int toolId, const wxString & helpString )
Establece la ayuda detallada para la herramienta dada.
Parámetros
- toolId
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
- helpString
- Una cadena para la ayuda detallada.
Observaciones
Se puede utilizar la ayuda detallada para mostrar el propósito de la herramienta en la línea de estado.
SetToolNormalBitmap()
virtual void wxToolBar::SetToolNormalBitmap( int id, const wxBitmapBundle & bitmap )
Establece el mapa de bits que utilizará la herramienta con el ID dado.
Esto sólo se puede utilizar en herramientas de botón, no en controles./p>
Parámetros
- id
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
- bitmap
- Mapa de bits que se utilizará para las herramientas normales.
SetToolPacking()
virtual void wxToolBar::SetToolPacking(int packing)
Establece el valor utilizado para espaciar herramientas.
El valor predeterminado es 1.
Parámetros
- packing
- El valor para el empaquetamiento.
Observaciones
El empaquetamiento se utiliza para espaciar en dirección vertical si la barra de herramientas es horizontal, y para espaciar en dirección horizontal si la barra de herramientas es vertical.
SetToolSeparation()
virtual void wxToolBar::SetToolSeparation(int separation)
Establece el tamaño predeterminado del separador.
El valor predeterminado es 5.
Parámetros
- separation
- El tamaño del separador.
SetToolShortHelp()
virtual void wxToolBar::SetToolShortHelp( int toolId, const wxString & helpString )
Establece la ayuda breve para la herramienta dada.
Parámetros
- toolId
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
- helpString
- La cadena para la ayuda breve.
Observaciones
Una aplicación puede utilizar la ayuda breve para identificar el propósito de la herramienta en una información sobre herramientas.
ToggleTool()
virtual void wxToolBar::ToggleTool( int toolId, bool toggle )
Activa o desactiva una herramienta.
Esto no provoca que se emita ningún evento.
Parámetros
- toolId
- ID de la herramienta en cuestión, tal y como se pasa a AddTool().
- toggle
- Si es true, activa la herramienta; en caso contrario, la desactiva.
Observaciones
Sólo se aplica a una herramienta que se haya especificado como herramienta de activación/desactivación.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxObject, wxEvtHandler, wxWIndow y wxControl.