Sunteți pe pagina 1din 3

Control ScrollBar - Barras de desplazamiento

Visual Basic posee 2 tipos de barras de desplazamiento o scrollbar, una barra de tipo
Vertical llamada VScrollbar y otro de tipo Horizontal llamada HScrollBar:

Las 2 son exactamente iguales en lo que se refiere a las propiedades, métodos y


eventos. Lo único que cambia es la disposición de las mismas

La función principal de estos controles es la de devolver un valor para luego utilizarlo


ya sea para una función o rutina que tengamos en nuestro programa.

La propiedad mas importante de las barras de desplazamientos , es la


propiedad Value.

Cuando movemos el botón deslizable el control cambia su propiedad Value, y también


cambia el valor del mismo cuando movemos las flechas Arriba y abajo del control.

También posee 2 propiedades importantes llamadas Max y Min. La propiedad Min es


el valor Mínimo que tendrá la barra y el valor Max es el valor Máximo.

Las propiedades Value, Max y Min las podemos establecer ya sea en tiempo de
diseño desde la ventana de propiedades o en tiempo de ejecución

Pongamos un ejemplo que no tiene sentido pero que servirá para aclarar como
funcionan estas 3 propiedades.

El ejemplo consiste en colocar un control Label1 en el formulario. Luego colocamos


una barra de desplazamiento horizontal o vertical (en este caso es lo mismo). A la
propiedad Max de la barra le estableceremos el valor 100. A la propiedad Min un
valor de 0. Y a la propiedad Value un valor inicial de 50. Cuando movamos la barra
ya sea con las flechas o con el botón que se encuentra en el medio (botón de scroll),
se imprimrá el valor actual de la propiedad Value en el control Label
Entonces colocar un HScroll1. Desde la ventana de propiedades, teniendo la barra
seleccionada, busca la propiedad Min y colocale 0. A la propiedad Max un valor de
100 y a Value 50.

Ahora doble Click sobre la barra para que se abra la ventana de código de Visual
Basic. Al hacer esto se crea un procedimiento llamado HScroll1_Change.

Este evento es el evento por defecto del control. Todas las instrucciones que estén
en este procedimiento se ejecutarán cuando el valor de la propiedad Value cambie,
es decir cuando movamos lo botones mencionados antes.

Pega el siguiente código en el formulario:

PrivateSubHScroll1_Change()
Label1=HScroll1.Value
End Sub

Como podés ver , al mover la barra, le asignamos al control Label1, el valor de la


propiedad Value.

Hay otro evento importante llamado Scroll. Este evento se dispara siempre que
movamos el botón de Scroll, pero no se ejecuta cuando presionamos las flechas
de Arriba y Abajo del control. Para localizar el evento, desde la ventana de código,
en la lista desplegable de la derecha, seleccionalo, para agregar un nuevo
procedimiento de código, como muestra la imagen:

Ahora si probás el ejemplo, el valor de la propiedad Value se imprimirá en el Label


solo cuando hagamos un Scroll, y no cuando movamos las flechas.

Una cosa importante es que el valor de la propiedad Value, Max y Min, deben ser
valores de tipo Entero (Integer), es decir que estén en el rango entre -
32768 a 32767. Por ejemplo si le establecemos en tiempo de ejecución los
siguientes valores no daría error (estarían en el límite)
PrivateSubForm_Load()
HScroll1.Min=-32768
HScroll1.Max=32767
HScroll1.Value=100
End Sub

Pero si hicieramos esto otro, daría un error al intentar asignarle a la propiedad Min
un valor que supera el rango mensionado antes:

PrivateSubForm_Load()
HScroll1.Min=-60000
HScroll1.Max=32767
HScroll1.Value=100
End Sub

El error que se produciría sería un error número 6 (Desbordamiento)

S-ar putea să vă placă și