sesion04 scrollbars y trackbar
TRANSCRIPT
-
Instructor: Jorge Luis Vizcarra Crdenas
Curso: Visual Basic Avanzado Sesin 04
Tema: Uso de los Controles ScrollBars y TrackBar
TEORA
CONTROLES HSCROLLBAR Y VSCROLLBAR:
Implementa la funcionalidad bsica de un control de barra de desplazamiento. Habitualmente, no
se hereda directamente de la clase ScrollBar. Para crear una clase de barra de desplazamiento
propia, se hereda de la clase VScrollBar o HScrollBar.
Para ajustar el intervalo de valores del control de barra de desplazamiento, hay que establecer las
propiedades Minimum y Maximum. Para ajustar la distancia de los movimientos del cuadro de
desplazamiento, hay que establecer las propiedades SmallChange y LargeChange. Para ajustar el
punto inicial del cuadro de desplazamiento, establezca la propiedad Value cuando aparezca el
control por primera vez.
Las directrices sobre la interfaz de usuario sugieren que las propiedades SmallChange y
LargeChange se establezcan con relacin al tamao de la vista que se muestra al usuario, no
respecto al tamao total que incluye la parte que no se ve. Por ejemplo, si dispone de un cuadro
de imagen con barras de desplazamiento que muestra una imagen grande, las propiedades
SmallChange y LargeChange deben establecerse con respecto al tamao del cuadro de imagen, no
al tamao de la imagen.
Para ver la lista completa de miembros de la Clase ScrollBar, vea el siguiente link:
http://msdn.microsoft.com/es-pe/library/system.windows.forms.scrollbar.aspx
En Visual Studio, estos controles forman parte del Grupo Todos los Formularios de Windows en
el Cuadro de herramientas y tienen la siguiente apariencia:
HScrollBar
VScrollBar
-
Instructor: Jorge Luis Vizcarra Crdenas
CONTROL TRACKBAR:
El control TrackBar de formularios Windows Forms (tambin denominado en ocasiones control
"deslizante") se utiliza para navegar por grandes volmenes de informacin o para ajustar
visualmente una configuracin numrica. El control TrackBar tiene dos partes: el control de
posicin, tambin conocido como control deslizante, y las marcas de paso. El control de posicin
es la parte que puede ajustarse. Su posicin corresponde a la propiedad Value. Las marcas de paso
son indicadores visuales espaciados a intervalos regulares. La barra de seguimiento se desplaza en
los incrementos que se especifiquen y puede alinearse horizontal o verticalmente. Un ejemplo del
uso de una barra de seguimiento sera el establecimiento de la velocidad de intermitencia del
cursor o de la velocidad del mouse (ratn).
Las principales propiedades del control TrackBar son Value, TickFrequency, Minimum y
Maximum. TickFrequency es el espaciado de las marcas. Minimum y Maximum son los valores
mnimo y mximo que se pueden representar en la barra de seguimiento.
Hay otras dos propiedades importantes: SmallChange y LargeChange. El valor de la propiedad
SmallChange es el nmero de posiciones que se desplaza el control de posicin como respuesta a
la accin de presionar la tecla FLECHA DERECHA o FLECHA IZQUIERDA. El valor de la propiedad
LargeChange es el nmero de posiciones que se desplaza el control de posicin en respuesta a la
accin de presionar la tecla RE PG o AV PG, o en respuesta a la accin de hacer clic con el
mouse en la barra de seguimiento a ambos lados del control de posicin.
El control TrackBar lo puede encontrar en el grupo Todos los formularios de Windows de la barra de
herramientas y tiene la siguiente apariencia:
Para una referencia completa de los miembros de la Clase Trackbar, siga el siguiente link:
http://msdn.microsoft.com/es-es/library/system.windows.forms.trackbar_members(v=VS.90).aspx
Fuente:
-
Instructor: Jorge Luis Vizcarra Crdenas
CREANDO UNA APLICACIN DE EJEMPLO:
1. Abra Visual Studio y cree un nuevo proyecto basado en la plantilla Aplicacin de
Windows Forms
2. La Interfaz a crear es la siguiente:
-
Instructor: Jorge Luis Vizcarra Crdenas
TABLA DE PROPIEDADES Objeto Propiedad Valor
Form
Text Ejemplo ScrollBars y TrackBar
BackColor White
FormBorderStyle FixedDialog
MaximizeBox False
MinimizeBox False
StartPosition CenterScreen
PictureBox1
BackColor White
BorderStyle Fixed3D
Size: Width 195
Size: Height 160
PictureBox2
BackColor White
BorderStyle Fixed3D
Size: Width 195
Size: Height 160
Label1
Name lblRed
ForeColor Red
Font Arial, 9.75
Label2
Name lblGreen
ForeColor Green
Font Arial, 9.75
Label3
Name lblBlue
ForeColor Blue
Font Arial, 9.75
HScrollBar1
Name redBar
Minimum 0
Maximum 255
HScrollBar2
Name greenBar
Minimum 0
Maximum 255
HScrollBar3
Name blueBar
Minimum 0
Maximum 255
TrackBar1
Name trbFontSize
Minimum 8
Maximum 40
Label4
Name lblTrackBar
BorderStyle Fixed3D
Font Arial Narrow, 8.25pt
TextAlign MiddleCenter
El objetivo de este programa consiste en utilizar las barras de herramientas para cambiar
el color de fondo de ambos objetos PictureBox en tiempo de ejecucin a travs del
desplazamiento, lo cual nos va a permitir aprender manejar los 2 eventos importantes
para este propsito.
-
Instructor: Jorge Luis Vizcarra Crdenas
3. Una vez diseada la Interfaz conforme a las especificaciones anteriores, podemos
proceder a escribir el cdigo necesario para darle funcionalidad. Lo primero que haremos
ser crear dos procedimientos personalizados para administrar el cambio de color de los
objetos PictureBox, presione F7 para ingresar al editor de cdigo y defina lo siguiente:
Sub ColorBox1() Dim clr As Color clr = Color.FromArgb(redBar.Value, greenBar.Value, blueBar.Value) PictureBox1.BackColor = clr End Sub Sub ColorBox2() Dim clr As Color clr = Color.FromArgb(redBar.Value, greenBar.Value, blueBar.Value) PictureBox2.BackColor = clr End Sub
Estos procedimientos utilizan la clase Color para obtener colores del espectro RGB
(tricroma), gracias el mtodo FromArgb, el cual recibe 3 parmetros que representan el
espectro: Rojo, Verde, Azul.
4. Ahora escribiremos el cdigo para el evento Scroll de redBar, este evento registra el
desplazamiento de la barra por accin del mouse o del teclado:
If e.Type = ScrollEventType.EndScroll Then ColorBox1() lblRed.Text = "Rojo " & redBar.Value.ToString("###") End If
5. Para el mismo objeto, en el evento ValueChanged, llamamos al procedimiento
ColorBox2():
ColorBox2()
6. A partir de aqu, bsicamente hay que repetir la misma secuencia de cdigos asociados
para las diferentes barras de desplazamiento:
Private Sub greenBar_Scroll(sender As System.Object, e As System.Windows.Forms.ScrollEventArgs) Handles greenBar.Scroll If e.Type = ScrollEventType.EndScroll Then ColorBox1() lblGreen.Text = "Verde " & greenBar.Value.ToString("###") End If End Sub
-
Instructor: Jorge Luis Vizcarra Crdenas
Private Sub greenBar_ValueChanged(sender As Object, e As System.EventArgs) Handles greenBar.ValueChanged ColorBox2() End Sub Private Sub blueBar_Scroll(sender As System.Object, e As System.Windows.Forms.ScrollEventArgs) Handles blueBar.Scroll If e.Type = ScrollEventType.EndScroll Then ColorBox1() lblBlue.Text = "Azul " & blueBar.Value.ToString("###") End If End Sub Private Sub blueBar_ValueChanged(sender As Object, e As System.EventArgs) Handles blueBar.ValueChanged ColorBox2() End Sub
7. Una vez concluido esto, veamos ahora la parte del control TrackBar, este control es
esencialmente parecido al anterior, puede utilizarse en mltiples casos en los que haya
que aumentar o disminuir valores numricos. En este caso vamos a proporcionar un
cambio en el tamao de la fuente de una etiqueta conforme uso el TrackBar, para ello
programamos en el evento Scroll, de nuestro objeto trbFontSize:
Me.lblTrackBar.Font = New Font("Arial Narrow", trbFontSize.Value) Me.lblTrackBar.Text = trbFontSize.Value.ToString
En este cdigo, fcilmente actualizamos el tamao de la fuente, manteniendo el tipo de
fuente que es Arial Narrow, si desea puede reemplazar Arial Narrow por una instruccin
ms adecuada como esta: lblTrackBar.Font.FontFamily
8. Guarde, compile y ejecute la aplicacin y observe los resultados.