Visual Basic - VScrollbar

Life is soft - evento anual de software empresarial
 
Vista:

VScrollbar

Publicado por sace (41 intervenciones) el 16/04/2010 06:19:39
Buenas tengo una duda y quisiera una ayudita... el height de mi form es mas grande que la pantalla entonces le coloque un VScrollbar para poder bajar y verlo todo pero no me funciona.
he visto ejm del VScrollbar pero que cambian valores y cosas asi, quisiera saber como hacer para bajar y subir el form

GRACIASS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:VScrollbar

Publicado por A.H.H (28 intervenciones) el 16/04/2010 20:27:03
Hola los datos mas importantes de un control VScrollBar o de un control HScrollBar son:
value, min,max

*en Min debes de darle el valor minimo que quieras que tenga el height del form, cuando muevas la barra deslizante.

*en Max debes de darle el valor maximo que quieras que tenga el heignt del form, cuando muevas la barra deslizante.

*Despues solo tenemos que hacer que form1.height=VScroll1.value
dentro del evento VScroll1_Change()

*Tambien se puede poner la propiedad LargeChange que por defecto vale 1
y la propiedad SmallChange que tambien vale 1 por defecto , a 30 o asi para que el efecto de velocidad de estrecharse o agrandarse del formulario sea mas rapido, ya que con el valor que trae por defecto lo hace muy despacio.

EJEMPLO para que veas el efecto:

Dibuja un VScroll en una esquina del form y que el form tenga mas o menos
height-->3600 y width-->6000

dentro del formulario escribe el siguiente codigo:
'------------------------------------------------------------------------------------------------------------'
Private Sub Form_Load()

VScroll1.SmallChange = 30 'velocidad movimiento'
VScroll1.LargeChange = 30 'velocidad movimiento'
VScroll1.Max = 7000 'maximo agrandar'
VScroll1.Min = 3600 'minimo estrechar'

End Sub

Private Sub VScroll1_Change()

Form1.Height = VScroll1.Value

End Sub

'-----------------------------------------------------------------------------------------------------------'
Puedes cambiar los valores de SmallChange y LargeChange segun el efecto de rapidez de recogida del form o agrandar que quieras dar.

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VScrollbar

Publicado por sace (41 intervenciones) el 17/04/2010 03:28:50
Ok gracias lo veo mejor ya, pero ese lo que hace es agrandar el height poco a poco.
yo necesito es moverlo ya el form tiene un tamaño que no quiero que se modifique, solo ver lo que esta mas abajo que no se ve. El height de mi form es 15000

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

RE:VScrollbar

Publicado por A.H.H (116 intervenciones) el 17/04/2010 14:17:29
Hola ok ya entendi creo
lo que tienes que hacer entonces es jugar con la propiedad top del formulario, para subirlo o bajarlo entero.

algo asi ejemplo:
un form y dentro un vscroll1

Private Sub Form_Load()
VScroll1.Max = 15000
VScroll1.Min = 0
VScroll1.LargeChange = 30
VScroll1.SmallChange = 30
VScroll1.Value = Form1.Top 'a value le damos el valor inicial del top del form'
End Sub

Private Sub VScroll1_Change()
'jugamos con el top para subir o bajar todo el formulario entero'

Form1.Top = VScroll1.Value

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

RE:VScrollbar

Publicado por A.H.H (116 intervenciones) el 17/04/2010 14:29:09
Hola modifica el

VScroll1.Max = 15000

con un valor de abajo de la pantalla porque si en vez de darle a las flechitas del wscroll le das al deslizante hacia abajo te desaparecera el form ya que 15000 es mucho
salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VScrollbar

Publicado por sace (41 intervenciones) el 20/04/2010 02:08:18
Buenas noches, gracias por la ayuda pero no es exactamente lo que quiero porque eso me baja todo el formulario, yo lo quiero utilizar es para poder ver todo lo que tengo en el formulario que es mas largo que la pantalla, no para mover de lugar el form, no se si me explico bien.Yo lo que quiero hacer es lo mismo que hace la barrita que tenemos a la derecha en estos momentos, que me hace ver toda la pagina que es mas larga que la pantalla.

Gracias nuevamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

RE:VScrollbar

Publicado por A.H.H (116 intervenciones) el 20/04/2010 23:50:41
Hola de nuevo,
podrias poner dentro del formulario un contenedor como un frame o un picture y dentro todos los controles del formulario, ya que asi podrias mover el frame o el picture y se moverian todos los controles a la vez creando el efecto scroll.

YA que el interior del formulario no se mueve, pero si los controles que pongas.

Private Sub VScroll1_Change()

frame1.Top = VScroll1.Value

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

RE:VScrollbar

Publicado por A.H.H (116 intervenciones) el 20/04/2010 23:34:45
Hola entonces supongo que tendras que mover los objetos de dentro del formulario, por ejemplo si quieres que se vea un texto que tienes en un label, tendrias que mover el label con la barra vscroll

te pongo el mismo ejemplo moviendo label dentro del formulario

para el ejemplo un formulario ,dentro una barra Vscroll y un label:
'---------------------------------------------------------------------------------------------------------'
Private Sub Form_Load()
Label1.AutoSize = True
Label1.Caption = "texto se mueve"
VScroll1.Max = 15000
VScroll1.Min = 0
VScroll1.LargeChange = 60
VScroll1.SmallChange = 60
VScroll1.Value = Label1.Top 'a value le damos el valor inicial del top del objeto a mover'
End Sub

Private Sub VScroll1_Change()
'jugamos con el top para subir o bajar el objeto en este caso un label'

Label1.Top = VScroll1.Value

End Sub

'-----------------------------------------------------------------------------------------'
a ver si acierto ahora......salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VScrollbar

Publicado por sace (41 intervenciones) el 21/04/2010 05:41:11
Gracias mi pana fue de mucha ayuda, tuve que hacerlo todo encima del frame y si me funciona excelente. un millón.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VScrollbar

Publicado por david (1 intervención) el 23/09/2010 20:12:15
hola buenas. gracias por la ayuda, pero tengo una pequeña duda que me esta dando muchos problemas... haber si me podeis hechar un cable.

he hecho una hscrollbar para que el usuario muestre su edad, la barra va de 1 a 100. lo que quiero es que al mover la barra salga la edad en una etiqueta al lado...nose si me he explicado bien.. pero gracias. un saludo!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar