sábado, 17 de abril de 2010

Control ScrollBar

ScrollBar
Free Image Hosting at www.ImageShack.us

Es una barra de desplazamiento horizontal o vertical con una con valores definidos, es decir que se puede crear un ScrollBar que comience en 0 y termine en 10, pero también lo puedes hacer que comience en -100 y termine en 100. Es decir que el desarrollador de la aplicación le pone los limites de valores.
Para que el ScrollBar sea horizontal el ancho “Width” del control debe ser mayor que el alto “Height”del control.
Y para hacer un ScrollBar Vertical debe hacerse lo contrario el alto del control “Height” debe ser mayor que el ancho del control “Width”.

Algunas de sus propiedades mas usadas son:

Background
Establece el color de fondo del control.

Enabled
Habilita “true” o deshabilita el control “false”. Al deshabilitar el control no se podrá mover el ScrollBar es decir que no hace ninguna función hasta que se habilite nuevamente .

Height
Contiene el valor del alto “largo” del control.

MaxValue
Se establece el valor máximo que llegara el ScrollBar. Por defecto viene con un valor de 100 es decir que el valor máximo que llegara es 99 ya que comienza desde 0 y desde 0 a 99 existen 100 números. Se le puede asignar valores negativos

MinValue
Establece el valor mínimo del control por defecto viene en 0 pero puede cambiarse según su preferencia y también acepta valores negativos.

PageStep
Establece el valor que al darle click al centro del ScrollBar se incrementara. Por defecto contiene el valor de 10 es decir que cada vez que le demos click al centro del ScrollBar se incrementara 10 números.

Free Image Hosting at www.ImageShack.us


Step
Establece el valor que al darle click a los botones de abajo o arriba del ScrollBar incrementara el valor. Por defecto viene en 1 y al darle click al el botón de arriba o abajo del ScrollBar incrementara 1.

Free Image Hosting at www.ImageShack.us

ToolTip
Envía un mensaje al usuario especificando el funcionamiento del control. Para que se usa. Por ejemplo puede escribir un mensaje como este “Si Mueve la Barra de Desplazamiento la Imagen se moverá Horizontalmente”. Le indicas al usuario que hace el control.

Visible
Establece si el control sera Visible “true” o invisible “false”

Width
Contiene el valor del ancho del control.

X
Contiene el valor de la posición en X del control.

Y
Contiene el valor de la posición en Y del control.

Para mas ayuda sobre el control

Ejemplos
1) Convertidor de Grados Fahrenheit a Celsius
Se debe crear un ScrollBar “Vertical”, un label y un Button. Creando un formulario parecido al de la imagen.

Free Image Hosting at www.ImageShack.us

En el ScrollBar1 las propiedad MaxValue se cambiara a 1000. Quiere decir que el valor máximo del scrollbar1 sera 1000 y este sera la temperatura máxima para transformar a Celsius.
La formula para cambiar de Fahrenheit a Celsius es la siguiente ((valor_Fahrenheit – 32)/1.8).

En el ScrollBar1 en el evento Change se debe escribir el siguiente código. Para buscar el evento se le debe dar click derecho al control Eventos y aparecerá el evento “Change”

PUBLIC SUB ScrollBar1_Change()
Label1.Text = "Grados Fahrenheit: " & ScrollBar1.Value
END

El Código del Button en el evento Click es el siguiente
PUBLIC SUB Button1_Click()
Message.Info("Son " & ((ScrollBar1.Value - 32) / 1.8) & " Grados Celsius")
END

Para saber que valor tiene el ScrollBar se debe llamar el método Value que es el que contiene el valor del control “10,25,62” y con ese valor se podrá transformar la temperatura.
Ya el programa estará listo para ejecutare al mover el ScrollBar cambiara el valor y así tomaras el valor que vas a convertir.

2) Subir y Bajar una PictureBox
En este ejemplo utilizaremos estos controles:
2 ScrollBar
2 Label
1 PictureBox

Cambiaremos algunas propiedades de los controles:
Los dos ScrollBar se le debe cambiar la propiedad MaxValue = 8 y Step = 1
En en el primer picturebox se le debe cambiar la propiedad text a “Bajar Imagen”
En en el segundo picturebox se le debe cambiar la propiedad text a “Subir Imagen”
En el PictureBox se le debe insertar una imagen buscando la propiedad Picture y dándole click al pequeño botón que aparece para buscar la imagen y también cambiar la propiedad Stretch a true para hacer que la imagen se acople al PictureBox.

Ahora debemos crear un Form “formulario” de esta manera

Free Image Hosting at www.ImageShack.us

En el Primer ScrollBar en el evento “Change” debes escribir este código
PUBLIC SUB ScrollBar1_Change()
IF (PictureBox1.Y <> 21) THEN 'Compara si el valor en Y del PictureBox llega a su posición mas alta 21
PictureBox1.Y -= ScrollBar2.Value 'Le Resta el valor del ScrollBar para subir el PictureBox hacia arriba
ENDIF
END

El proyecto estará listo para mover la imagen hacia abajo o hacia arriba del formulario.

Aquí les dejo los dos ejemplos
Descargar Ejemplos

5 comentarios:

Shell dijo...

Felicitarte por la pagina y por la ayuda que prestas a la comunidad Gambas.

Anónimo dijo...

e echo el ejemplo de los grados celsius a fahrenheit y la barra deslizadora me indica los positivos abajo y los negativos arriba deviendo ser alreves

romero1778 dijo...

hola me gusta ese ejemplo pero yo no se y si hace años e kerido hacer un scrollbar para uno texto ke tengo sera posible ke me puedan ayudar selos agradeceria mucho gracias

Sergio Balan dijo...

Me gusto mucho tu ejemplo, y me ayudó bastante para un trabajo que estoy realizando, pero no se si fue error mio a la hora de programarlo, pero he notado que para usar el scrollbar 1 tienes que mover antes el scrollbar2 para tener valores, y también que solo sube la imagen y no me da para bajarla, por lo que hice unas cuantas modificaciones y me quedó de la siguiente manera:

PUBLIC SUB scrollbar1_Change()'hace que la imagen suba
IF (imagen.Y <> 133) THEN
imagen.Y -= 5
ENDIF
END

PUBLIC SUB scrollbar2_Change()'hace que la imagen baje

IF (imagen.Y <> 133) THEN
imagen.Y += 5
ENDIF
END

pero se me presentó otro problema: las barras sin importar si las subo o bajo seguiran haciendo su parte del código, entonces tengo la duda si hay alguna forma de ordenarles que solo realizen esa función una vez (subir o bajar) y que no se salgan de mi area de trabajo.
por su atención gracias, aqui les dejo mi correo por si me pueden ayudar con la respuesta:
obelisk92@hotmail.com

Anónimo dijo...

gracias we

Publicar un comentario