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:
Private Sub HScroll1_Change()Label1 = HScroll1.ValueEnd 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)
Private Sub Form_Load()HScroll1.Min = -32768HScroll1.Max = 32767HScroll1.Value = 100End 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:
Private Sub Form_Load()HScroll1.Min = -60000HScroll1.Max = 32767HScroll1.Value = 100End Sub
El error que se produciría sería un error número 6 (Desbordamiento)
Volver al índice
Enlaces relacionados
· Colocar Barras de Scroll a un PictureBox
· Mover controles con ScrollBar en forma automática usando el Api
· Hacer Scroll a una imagen usando la función PaintPicture
· Control Ocx para cambiar el color de las 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:
Private Sub HScroll1_Change()Label1 = HScroll1.ValueEnd 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)
Private Sub Form_Load()HScroll1.Min = -32768HScroll1.Max = 32767HScroll1.Value = 100End 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:
Private Sub Form_Load()HScroll1.Min = -60000HScroll1.Max = 32767HScroll1.Value = 100End Sub
El error que se produciría sería un error número 6 (Desbordamiento)
Volver al índice
Enlaces relacionados
· Colocar Barras de Scroll a un PictureBox
· Mover controles con ScrollBar en forma automática usando el Api
· Hacer Scroll a una imagen usando la función PaintPicture
· Control Ocx para cambiar el color de las barras de desplazamiento
gracias por todo
ResponderEliminar