Clase wxSpinCtrl
wxSpinCtrl combina wxTextCtrl y wxSpinButton en un solo control.
Jerarquía:

Estilos
Esta clase soporta los siguientes estilos:
- wxSP_ARROW_KEYS
- El usuario puede utilizar las teclas de flecha para cambiar el valor.
- wxSP_WRAP
- El valor se ajusta al mínimo y al máximo.
- wxTE_PROCESS_ENTER
- Indica que el control debe generar eventos wxEVT_TEXT_ENTER. El uso de este estilo evitará que el usuario utilice la tecla Intro para navegar por el diálogo (por ejemplo, activando el botón por defecto del diálogo) en MSW.
- wxALIGN_LEFT
- Igual que wxTE_LEFT para wxTextCtrl: el texto se alinea a la izquierda (por defecto).
- wxALIGN_CENTRE_HORIZONTA
- :Igual que wxTE_CENTRE para wxTextCtrl: el texto se centra.
- wxALIGN_RIGHT
- Igual que wxTE_RIGHT para wxTextCtrl: el texto se alinea a la derecha.
Eventos emitidos por esta clase
Las siguientes macros manejadoras de eventos redirigen los eventos a manejadores de funciones miembro 'func' con prototipos como:
void handlerFuncName(wxSpinEvent& event)
Macros de eventos para eventos emitidos por esta clase:
- EVT_SPINCTRL(id, func)
- Procesa un evento wxEVT_SPINCTRL, que se genera cada vez que se actualiza el valor numérico del control de giro.
También se pueden utilizar las macros de eventos wxSpinButton, aunque los eventos correspondientes no se generarán en todas las plataformas. Finalmente, si el usuario modifica directamente el texto en la parte de edición del spin control, se genera el EVT_TEXT, como para el wxTextCtrl. Cuando el usuario introduce texto en el área de texto, éste no se valida hasta que el control pierde el foco (por ejemplo, utilizando la tecla TAB). El valor se ajusta entonces al rango y se envía un wxSpinEvent si el valor es diferente del último valor enviado.
Funciones miembro
wxSpinCtrl()
wxSpinCtrl::wxSpinCtrl()
Constructor por defecto.
wxSpinCtrl()
wxSpinCtrl::wxSpinCtrl( wxWindow * parent, wxWindowID id = wxID_ANY, const wxString & value = wxEmptyString, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxSP_ARROW_KEYS, int min = 0, int max = 100, int initial = 0, const wxString & name = "wxSpinCtrl" )
Constructor, crea y muestra un control de giro.
Si value no está vacío, se mostrará en la parte de entrada de texto del control y si tiene valor numérico, el valor numérico inicial del control, devuelto por GetValue() también será determinado por éste en lugar de por initial. Por lo tanto, solo tiene sentido especificar initial si value es una cadena vacía o no es convertible a un número, de lo contrario, initial simplemente se ignora y se utiliza el número especificado por value.
Parámetros
- parent
- Ventana padre. No debe ser nullptr.
- value
- Valor por defecto (como texto).
- id
- Identificador de la ventana. El valor wxID_ANY indica un valor por defecto.
- pos
- Posición de la ventana. Si se especifica wxDefaultPosition se elige una posición por defecto.
- size
- Tamaño de la ventana. Si se especifica wxDefaultSize se elige un tamaño por defecto.
- style
- Estilo de la ventana. Ver wxSpinButton.
- min
- Valor mínimo.
- max
- Valor máximo.
- initial
- Valor inicial.
- name
- Nombre de la ventana.
Create()
bool wxSpinCtrl::Create( wxWindow * parent, wxWindowID id = wxID_ANY, const wxString & value = wxEmptyString, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxSP_ARROW_KEYS, int min = 0, int max = 100, int initial = 0, const wxString & name = "wxSpinCtrl" )
Función de creación llamada por el constructor del control de giro.
Ver wxSpinCtrl() para más detalles.
GetBase()
int wxSpinCtrl::GetBase() const
Devuelve la base numérica que se está utilizando actualmente, 10 por defecto.
GetIncrement()
int wxSpinCtrl::GetIncrement() const
Obtiene el valor de incremento para un control de giro.
El valor por defecto es 1 pero puede cambiarse usando SetIncrement().
GetMax()
int wxSpinCtrl::GetMax() const
Obtiene el valor máximo permitido.
GetMin()
int wxSpinCtrl::GetMin() const
Obtiene el valor mínimo permitido.
GetTextValue()
wxString wxSpinCtrl::GetTextValue() const
GetValue()
int wxSpinCtrl::GetValue() const
Obtiene el valor del control de giro.
SetBase()
bool wxSpinCtrl::SetBase(int base)
Establece la base a utilizar para los números en este control.
Actualmente, los únicos valores admitidos son 10 (que es el valor predeterminado) y 16.
Cambiar la base permite al usuario introducir los números en la base especificada, por ejemplo con el prefijo «0x» para números hexadecimales, y también muestra los números en la base especificada cuando se cambian utilizando las flechas de control de giro.
Nota Establecer una base a 16 solo se permite si el rango actual no incluye valores negativos.
Parámetros
- base
- Base numérica, actualmente sólo se admiten 10 y 16.
Devuelve
true si la base ha sido cambiada con éxito o false si ha fallado, normalmente significa que la base no es 10 o 16 o que la base no está soportada para valores en el rango actual.
SetIncrement()
void wxSpinCtrl::SetIncrement(int value)
Establece el incremento del control.
El incremento es el número en el que cambia el valor cuando se utiliza la flecha arriba o abajo.
El valor por defecto es 1, pero puede ser útil establecerlo en un valor más alto cuando se utiliza el control para números más grandes.
Hay que tener en cuenta que todavía es posible introducir cualquier valor (en el rango válido) en el control manualmente, cualquiera que sea el valor del incremento.
SetRange()
void wxSpinCtrl::SetRange( int minVal, int maxVal )
Establece el rango de valores permitidos.
Hay que tener en cuenta que llamar a este método puede cambiar el valor del control si no está dentro del nuevo rango válido, por ejemplo, se convertirá en minVal si es menor que ahora. Sin embargo no se generará ningún evento wxEVT_SPINCTRL, aunque el valor cambie.
Nota Establecer un rango que incluya valores negativos se ignora silenciosamente si la base actual se establece en 16.
SetSelection()
virtual void wxSpinCtrl::SetSelection( long from, long to )
Selecciona el texto en la parte de texto del control entre las posiciones from (inclusive) y to (exclusive).
Esto es similar a wxTextCtrl::SetSelection().
Nota actualmente solo está implementado para Windows y las versiones genéricas del control.
SetValue()
virtual void wxSpinCtrl::SetValue(const wxString & text)
Establece el valor del control de giro.
Se recomienda utilizar la sobrecarga que toma un valor entero en su lugar. Si el texto no representa un número válido, puede que no se muestre en absoluto en la parte de texto del control (solo se garantiza el soporte de la cadena vacía en todas las plataformas) y el valor numérico se cambiará a GetMin().
Observar que, a diferencia de wxTextEntry::SetValue(), pero como la mayoría de los otros métodos setter en wxWidgets, llamar a este método no genera ningún evento ya que los eventos solo se generan para las acciones del usuario.
SetValue()
void wxSpinCtrl::SetValue(int value)
Establece el valor del control de giro.
La llamada a este método no genera ningún evento wxEVT_SPINCTRL.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxControl, wxWindow, wxEvtHandler y wxObject.