arroba más más - Programación e Internet  arroba más más - Programación e Internet
Estás en: Inicio > Cursos > Entornos de desarrollo > El entorno Delphi > Curso básico de Delphi > - El control TrackBar
 
CAPÍTULOS

SECCIONES

SITIOS RECOMENDADOS

OTROS SITIOS DE LA AUTORA

En línea desde el 7 de noviembre de 2000

4.III El control TrackBar

En muchas ocasiones, los valores que solicita un programa al usuario son numéricos y se encuentran entre unos ciertos límites conocidos. Aunque podemos utilizar un control TEdit para pedir datos de este tipo, existen bastantes posibilidades más, entre las que se encuentra el control TTrackBar El control TrackBar en Delphi - Paleta Win32. Mediante este control, además, es posible seleccionar rangos de valores en lugar de un sólo valor. En apariencia un control TTrackBar es bastante similar a una barra de desplazamiento y de hecho su funcionamiento es muy parecido. Este control cuenta con unos límites y una posición actual, mostrada visualmente mediante un cursor. En el interior del control es posible disponer unas marcas a intervalos regulares, entre el mínimo y el máximo. Estas características y algunas más las podremos establecer mediante las propiedades de TTrackBar, algunas de las cuales las enumeramos en la siguiente tabla.

PropiedadTipoContenido
FrecuencyIntegerFrecuencia de las marcas de medida
LineSizeIntegerIncremento o decremento pequeño
MaxIntegerValor máximo
MinIntegerValor mínimo
OrientationTrackBarOrientationOrientación del control
PageSizeIntegerIncremento o decremento grande
PositionIntegerPosición actual del cursor en el punto de control
SelEndIntegerPunto de inicio de la selección actual
SelStartIntegerPunto de fin de la selección actual
TickMarksTTickMarkPosición de las marcas de medida
TickStyleTTickStyleEstilo de las marcas de medida

Límites y posición actual

Mediante las propiedades Min y Max fijaremos el valor mínimo y máximo de la medida, pudiendo también asignar una posición inicial modificando el valor de la propiedad Position, que por defecto tomará el mismo valor que asignemos a Min. El valor de la propiedad Position será lo único que cambie por una actuación del usuario en tiempo de ejecución, cuando el cursor del control se desplace a otro punto, ya sea mediante o con el teclado. En cualquiera de estos casos el TTrackBar generará un evento OnChange, que podemos aprovechar para actualizar cualquier parámetro que sea dependiendo de la posición actual en este control.

Apariencia del control

Un control TTrackBar puede aparecer en el form en sentido horizontal, que es el estado por defecto, o vertical, según el valor que asignemos a la propiedad Orientation, que será tbHorizontal o tbVertical.

A la izquierda y derecha o arriba y abajo, dependiendo de la orientación, el control puede mostrar unas marcas intermedias, que permitirán tener una idea aproximada del valor actual que se está usando. Mediante la propiedad TickMarks podemos determinar la situación de esas marcas en el control, pudiendo ser las siguientes:

ConstantePosición de las marcas
tmBottomRightAbajo o a la izquierda dependiendo de la orientación
tmTopLeftArriba o a la izquierda
tmBothAbajo y arriba o a la izquierda y derecha

La propiedad TickStyle nos servirá para fijar el estilo de las marcas, pudiendo tomar los siguientes valores:

ConstanteEstilo de las marcas
tsAutoAutomático, es el estilo por defecto
tsNoneSin marcas
tsManualManual

El estilo tsAuto distribuye las marcas existentes entre los puntos de inicio y fin de una forma regular, según el valor que se haya asignado a la propiedad Frecuency, que por defecto es uno, lo que quiere decir que existirá una marca por cada unidad.

Si asignamos el valor 100 a la propiedad Max, veremos que las marcas están tan juntas que forman una línea. Modificando el valor de Frecuency, asignándole por ejemplo 10, conseguiremos que se muestre una marca cada diez unidades.

En caso de que asignemos a la propiedad TickStyle el valor tsManual, el control sólo dispondrá de dos marcas, una en cada extremo. Cualquier otra marca que deseemos deberemos establecerla nosotros mismos, mediante el método SetTick, al que pasaremos como único parámetro un entero indicando la posición en la que queremos disponer la marca.

Selección de rangos

Además de para mostrar o fijar una posición del cursor, lo que en definitiva se traduce en un cierto valor que obtendríamos de la propiedad Position, el control TTrackBar también nos permite seleccionar un rango o intervalo de valores, mediante las propiedades SelStart y SelEnd. Inicialmente estas dos propiedades tienen el valor cero, lo que indica que no hay seleccionado un intervalo.

Al asignar a SelStart y SelEnd un valor, podremos ver que en el control aparece de un color diferente el rango seleccionado y que, además aparecen dos marcas especiales, dos pequeños triángulos, que se delimitan perfectamente el intervalo.

Autor: Lola Cárdenas Luque
Última actualización: 24 de junio de 2001
- El control StatusBar | - Los controles ProgressBar, SpinButton, SpinEdit y UpDown
Copyright © 2000 - 2005, Lola Cárdenas Luque - Todos los derechos reservados