slider.h

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:

Jerarquía de la clase wxSlider

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.