Práctica 2: Barra de Desplazamiento (HScrollBar).

1.- Crear un nuevo proyecto
(EXE estándar) que incluya un formulario. Los nombres que tenemos que dar a los
ficheros y atributos Name del proyecto y formulario son respectivamente
Speed.vbp, Speed, Speed.frm y frmSpeed.
El objetivo del programa es que el TextBox visualice en todo momento los en Km/h que representa el valor del HscrollBar.
2.- Colocar los objetos siguientes
y asignar los valores adecuados a sus atributos (propiedades).
|
Objeto |
Propiedad |
Valor |
|
Form |
Name |
FrmSpeed |
|
|
BackColor |
Light gray |
|
|
Caption |
Programa Speed |
|
CommandButton |
Name |
CmdExit |
|
|
Caption |
&Salir |
|
HscrollBar |
Name |
HsbSpeed |
|
|
Min |
0 |
|
|
Max |
100 |
|
TextBox |
Name |
TxtSpeed |
|
|
Alignment |
2-Center |
|
|
MiltiLine |
True |
|
|
BackColor |
Red |
|
|
ForeColor |
White |
|
|
Font |
(A tu gusto) |
|
|
Text |
50 Km/h |
Nuevas propiedades:
ForeColor: Color
del texto.
Propiedades del HScrollBar:
Min: Valor
mínimo del objeto (int).
Max: Valor
máximo del objeto (int).
Value: Valor
del objeto (int).
SmallChange: Pasos
del cursor (int).
3.- Codifica el trigger
correspondiente al evento Click del botón cmdExit.
Private Sub cmdExit_Click()
End 'Fin
del programa.
End Sub
Dos Eventos importantes del HscrollBar:
Change: Este
evento se produce cuando se cambia el valor del HScrollBar. No se produce
cuando se está desplazando el cursor con el mouse (pero si cuando dicho
desplazamiento se finaliza).
Scroll: Este
evento se produce cuando se desplaza el cursor del HScrollBar con el mouse.
4.- En el evento Change del
HScrollBar se ha de codificar el código que haga visualizar en el TextBox
txtSpeed la velocidad correspondiente al valor del hsbSeep.
La propiedad Value contiene el valor del HScrollBar en todo momento, pero es del tipo entero. La propiedad Text del objeto TextBox es del tipo cadena de caracteres, por ese motivo se ha de utilizar una función de conversión de tipos (Str).
Para concatenar Strings se puede utilizar + o &.
La función Str: String Str(Number).
Private Sub hsbSpeed_Change()
'La
función Str devuelve la cadena de caracteres
'correspondiente al valor del parámetro.
'El parámetro en este caso es el valor de la
'barra de desplazamiento.
txtSpeed.Text
= Str(hsbSpeed.Value) + " Km/h"
'hsbSpeed
es el nombre Name de la barra de desplazamiento.
5.- Ejecuta el programa y
comprueba que sucede si modificas el valor del cursor de la barra de
desplazamientos con el mouse.
6.- Para solucionar este problema
se ha de utilizar el evento Scroll de dicho objeto. Este evento se
produce por cada movimiento del cursor.
Como la acción a realizar es la misma que en el evento anterior no se volverá a codificar la acción, sino que se ejecuta la subrutina del evento Change. Esto nos incorpora la ventaja de que si se ha de modificar el código lo tendremos concentrado en un único lugar.
Private Sub hsbSpeed_Scroll()
'Llamada a
la función hbsSpeed_Change
hsbSpeed_Change
7.- Ejecutar el programa y generar
un ejecutable.
a) No
permitir el cambio de tamaño del formulario (para ello utilizar las propiedades
del formulario)
b) Al empezar
el programa el valor de la barra de desplazamiento ha de coincidir en valor con
el texto del TextBox.
c) No
permitir la modificación del texto del TextBox al usuario.
Realizar
un ejercicio similar al anterior que utilizando dos barras de desplazamiento
HScrollBar las dos se muevan al unísono. Para ello es suficiente con lo
estudiado en la actual práctica.
Realizar
el mismo ejercicio que el anterior pero utilizando esta vez un barra de
desplazamiento vertical VscrollBar.
NOTA: La
propiedad TabIndex de los controles nos permite establecer el orden de
tabulación de los objetos.