Clase wxSlider
Un control deslizante es un control con un indicador del que se puede mover hacia adelante y hacia atrás para cambiar el valor.
Jerarquía:

En Windows, se utiliza el control de barra de desplazamiento.
En GTK+, las marcas sólo están disponibles a partir de la versión 2.16.
Slider genera los mismos eventos que wxScrollBar pero en la práctica la forma más conveniente de procesar las actualizaciones de wxSlider es manejando el evento específico de slider wxEVT_SLIDER que lleva un wxCommandEvent conteniendo sólo la última posición del slider.
Estilos
Esta clase soporta los siguientes estilos:
- wxSL_HORIZONTAL
- Muestra el deslizador horizontalmente (este es el valor predeterminado).
- wxSL_VERTICAL
- Muestra el deslizador verticalmente.
- wxSL_AUTOTICKS
- Muestra las marcas (Windows, GTK+ 2.16 y posteriores).
- wxSL_MIN_MAX_LABELS
- Muestra las etiquetas de mínimo y máximo (nuevo desde wxWidgets 2.9.1).
- wxSL_VALUE_LABEL
- Muestra la etiqueta de valor (nuevo desde wxWidgets 2.9.1).
- wxSL_LABELS
- Muestra etiquetas de mínimo, máximo y valor (igual que wxSL_VALUE_LABEL y wxSL_MIN_MAX_LABELS juntas).
- wxSL_LEFT
- Muestra los ticks a la izquierda y fuerza el deslizador a ser vertical (sólo Windows y GTK+ 3).
- wxSL_RIGHT
- Muestra los ticks a la derecha y fuerza el deslizador a ser vertical.
- wxSL_TOP
- Muestra los ticks en la parte superior (sólo en Windows y GTK+ 3).
- wxSL_BOTTOM
- Muestra los ticks en la parte inferior (por defecto).
- wxSL_BOTH
- Muestra los ticks en ambos lados del deslizador. Sólo para Windows.
- wxSL_SELRANGE
- Muestra un rango de selección resaltado. Sólo en Windows.
- wxSL_INVERSE
- Invierte los extremos mínimo y máximo del deslizador. No compatible con wxSL_SELRANGE.
Observese que wxSL_LEFT, wxSL_TOP, wxSL_RIGHT y wxSL_BOTTOM especifican la posición de los ticks del deslizador y que las etiquetas del deslizador, si las hay, se colocan en el lado opuesto. Así, para tener una etiqueta en el lado izquierdo de un deslizador vertical, debe utilizarse wxSL_RIGHT (o no debe especificarse ninguno de estos estilos, ya que izquierda y arriba son las posiciones por defecto para los deslizadores vertical y horizontal respectivamente).
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(wxScrollEvent& event)
Macros de eventos para eventos emitidos por esta clase:
Se pueden utilizar macros EVT_COMMAND_SCROLL... con IDs de ventana para cuando intercepte eventos de desplazamiento desde controles, o macros EVT_SCROLL... sin IDs de ventana para interceptar eventos de desplazamiento desde la ventana receptora - excepto por esto, las macros se comportan exactamente igual.
- EVT_SCROLL(func)
- Procesa todos los eventos de desplazamiento.
- EVT_SCROLL_TOP(func)
- Procesa los eventos wxEVT_SCROLL_TOP de desplazamiento hacia arriba (posición mínima).
- EVT_SCROLL_BOTTOM(func)
- Procesa los eventos wxEVT_SCROLL_BOTTOM de desplazamiento hacia abajo (posición máxima).
- EVT_SCROLL_LINEUP(func)
- Procesa los eventos de alineación wxEVT_SCROLL_LINEUP.
- EVT_SCROLL_LINEDOWN(func)
- Procesa los eventos de bajada de línea wxEVT_SCROLL_LINEDOWN.
- EVT_SCROLL_PAGEUP(func)
- Procesa los eventos wxEVT_SCROLL_PAGEUP de subida de página.
- EVT_SCROLL_PAGEDOWN(func)
- Procesa los eventos wxEVT_SCROLL_PAGEDOWN de bajar página.
- EVT_SCROLL_THUMBTRACK(func)
- Procesa los eventos wxEVT_SCROLL_THUMBTRACK thumbtrack (eventos frecuentes enviados cuando el usuario arrastra el thumbtrack).
- EVT_SCROLL_THUMBRELEASE(func)
- Procesa los eventos wxEVT_SCROLL_THUMBRELEASE de liberación del pulgar.
- EVT_SCROLL_CHANGED(func)
- Procesa los eventos wxEVT_SCROLL_CHANGED de fin de desplazamiento (sólo MSW).
- EVT_COMMAND_SCROLL(id, func)
- Procesa todos los eventos de desplazamiento.
- EVT_COMMAND_SCROLL_TOP(id, func)
- Procesa los eventos wxEVT_SCROLL_TOP de desplazamiento hacia arriba (posición mínima).
- EVT_COMMAND_SCROLL_BOTTOM(id, func)
- Procesa eventos wxEVT_SCROLL_BOTTOM de desplazamiento hacia abajo (posición máxima).
- EVT_COMMAND_SCROLL_LINEUP(id, func)
- Procesa los eventos de alineación wxEVT_SCROLL_LINEUP.
- EVT_COMMAND_SCROLL_LINEDOWN(id, func)
- Procesa los eventos de bajada de línea wxEVT_SCROLL_LINEDOWN.
- EVT_COMMAND_SCROLL_PAGEUP(id, func)
- Procesa los eventos wxEVT_SCROLL_PAGEUP de subida de página.
- EVT_COMMAND_SCROLL_PAGEDOWN(id, func)
- Procesa los eventos wxEVT_SCROLL_PAGEDOWN de bajar página.
- EVT_COMMAND_SCROLL_THUMBTRACK(id, func)
- Procesa los eventos de thumbtrack de wxEVT_SCROLL_THUMBTRACK (eventos frecuentes enviados cuando el usuario arrastra el thumbtrack).
- EVT_COMMAND_SCROLL_THUMBRELEASE(id, func)
- Procesa los eventos wxEVT_SCROLL_THUMBRELEASE de liberación del pulgar.
- EVT_COMMAND_SCROLL_CHANGED(id, func)
- Procesa los eventos wxEVT_SCROLL_CHANGED de fin de desplazamiento (sólo MSW).
- EVT_SLIDER(id, func)
- Procesa wxEVT_SLIDER que se genera tras cualquier cambio de posición de wxSlider además de uno de los eventos anteriores. Obsérvese que el manejador de este evento recibe un wxCommandEvent como argumento y no un wxScrollEvent, como el resto de manejadores.
Diferencia entre EVT_SCROLL_THUMBRELEASE y EVT_SCROLL_CHANGED
El evento EVT_SCROLL_THUMBRELEASE sólo se emite cuando realmente se arrastra el pulgar usando el ratón y se suelta (Este evento EVT_SCROLL_THUMBRELEASE también es seguido por un evento EVT_SCROLL_CHANGED).
El evento EVT_SCROLL_CHANGED también ocurre cuando se usa el teclado para cambiar la posición del pulgar, y cuando se hace click al lado del pulgar (En todos estos casos el evento EVT_SCROLL_THUMBRELEASE no ocurre). En resumen, el evento EVT_SCROLL_CHANGED se dispara cuando el desplazamiento/movimiento ha finalizado independientemente de la forma en que se había iniciado. Por favor, vea el ejemplo de Widgets (página "Slider") para ver la diferencia entre EVT_SCROLL_THUMBRELEASE y EVT_SCROLL_CHANGED en acción.
Funciones miembro
wxSlider()
wxSlider::wxSlider()
Constructor por defecto.
wxSlider()
wxSlider::wxSlider( wxWindow * parent, wxWindowID id, int value, int minValue, int maxValue, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxSL_HORIZONTAL, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxSliderNameStr )
Constructor, crea y muestra un deslizador.
Parámetros
- parent
- Ventana padre. No debe ser NULL.
- id
- Identificador de la ventana. El valor wxID_ANY indica un valor por defecto.
- value
- Posición inicial del deslizador.
- minValue
- Posición mínima del deslizador.
- maxValue
- Posición máxima del deslizador.
- 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 entonces se elige un tamaño por defecto, que suele ser apropiado en la dirección transversal del deslizador, pero que sólo es fijo 100 píxeles (independiente de DPI) en la dirección primaria (es decir, vertical para los deslizadores wxSL_VERTICAL u horizontal para los wxSL_HORIZONTAL), por lo que puede ser preferible especificarlo explícitamente. Por el contrario, cuando se utiliza un tamaño no predeterminado, suele ser mejor utilizar -1 para el componente de tamaño transversal, lo que significa que debe utilizarse el valor predeterminado, ya que el valor adecuado depende de la plataforma y el tema.
- style
- Estilo de la ventana.
- validator
- Validador de la ventana.
- name
- Nombre de la ventana.
~wxSlider()
virtual wxSlider::~wxSlider()
Destructor, destruye el deslizador.
ClearSel()
virtual void wxSlider::ClearSel()
Borra la selección, para un deslizador con el estilo wxSL_SELRANGE.
Disponibilidad: sólo disponible para el port wxMSW.
ClearTicks()
virtual void wxSlider::ClearTicks()
Borra los ticks.
Disponibilidad: sólo disponible para los ports wxMSW, wxGTK.
Create()
bool wxSlider::Create( wxWindow * parent, wxWindowID id, int value, int minValue, int maxValue, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxSL_HORIZONTAL, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxSliderNameStr )
Utilizado para la construcción de deslizadores de dos pasos.
GetLineSize()
virtual int wxSlider::GetLineSize() const
Devuelve el tamaño de la línea.
GetMax()
virtual int wxSlider::GetMax() const
Obtiene el valor máximo del deslizador.
GetMin()
virtual int wxSlider::GetMin() const
Obtiene el valor mínimo del deslizador.
GetPageSize()
virtual int wxSlider::GetPageSize() const
Devuelve el tamaño de la página.
GetSelEnd()
virtual int wxSlider::GetSelEnd() const
Devuelve el punto final de la selección.
Disponibilidad: sólo disponible para el port wxMSW.
GetSelStart()
virtual int wxSlider::GetSelStart() const
Devuelve el punto de inicio de la selección.
Disponibilidad: sólo disponible para el port wxMSW.
GetThumbLength()
virtual int wxSlider::GetThumbLength() const
Devuelve la longitud del pulgar.
Disponibilidad: sólo disponible para el port wxMSW.
GetTickFreq()
virtual int wxSlider::GetTickFreq() const
Devuelve la frecuencia de tick.
Disponibilidad: sólo disponible para los ports wxMSW, wxGTK.
GetValue()
virtual int wxSlider::GetValue() const
Obtiene el valor actual del deslizador.
SetLineSize()
virtual void wxSlider::SetLineSize(int lineSize)
Establece el tamaño de línea para el deslizador.
Parámetros
- lineSize
- El número de pasos que se mueve el deslizador cuando el usuario lo desplaza hacia arriba o hacia abajo en una línea.
SetMax()
void wxSlider::SetMax(int maxValue)
Establece el valor máximo del deslizador.
Parámetros
- maxValue
- El nuevo extremo superior del rango del deslizador.
SetMin()
void wxSlider::SetMin(int minValue)
Establece el valor mínimo del deslizador.
Parámetros
- minValue
- El nuevo extremo inferior del rango del deslizador.
SetPageSize()
virtual void wxSlider::SetPageSize(int pageSize)
Establece el tamaño de página para el deslizador.
Parámetros
- pageSize
- El número de pasos que se mueve el deslizador cuando el usuario sube o baja páginas.
SetRange()
virtual void wxSlider::SetRange( int minValue, int maxValue )
Establece los valores mínimo y máximo del deslizador.
SetSelection()
virtual void wxSlider::SetSelection( int startPos, int endPos )
Establece la selección.
Parámetros
- startPos
- Posición inicial de la selección.
- endPos
- Posición final de la selección.
Disponibilidad: sólo disponible para el port wxMSW.
SetThumbLength()
virtual void wxSlider::SetThumbLength(int len)
Establece la longitud del pulgar del deslizador.
Parámetros
- len
- La longitud del pulgar.
Disponibilidad: sólo disponible para el port wxMSW.
SetTick()
virtual void wxSlider::SetTick(int tickPos)
Establece una posición de tick.
Parámetros
- tickPos
- Posición del tick.
Disponibilidad: sólo disponible para los ports wxMSW, wxGTK.
SetTickFreq()
virtual void wxSlider::SetTickFreq(int freq)
Establece la frecuencia y la posición de la marca de graduación.
Parámetros
- freq
- Frecuencia. Por ejemplo, si la frecuencia se establece en dos, se muestra una marca cada dos incrementos en el rango del deslizador.
Disponibilidad: sólo disponible para los ports wxMSW, wxGTK.
SetValue()
virtual void wxSlider::SetValue(int value)
Establece la posición del deslizador.
Parámetros
- value
- Posición del deslizador.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxControl, wxWindow, wxEvtHandler y wxObject.