5.
El
formulario y los controles básicos.
5.1.
El formulario.
El formulario
es el principal medio de comunicación entre el usuario y la aplicación. Los
usuarios interactúan con los controles sobre el formulario para ingresarle
datos y obtener resultados.
Veamos las propiedades, eventos y métodos que podemos
variar en nuestros formularios:
Propiedades:
·
BackColor: Color de fondo del formulario.
·
BorderStyle: Estilo del borde del formulario.
·
Caption: Texto en la barra de título del
formulario.
·
ControlBox True/False: Determina si tiene o no el cuadro de
control.
·
Enabled True/False:Determina si está
habilitado para responder a las acciones del usuario.
·
Icon: Icono que se muestra cuando el
formulario está minimizado.
·
Left y Top: Ubicación del formulario.
·
MaxButton True/False:Determina si tiene o no
el botón de Maximizar.
·
MinButton True/False: Determina si tiene o no el botón
Minimizar.
·
Name: Nombre del formulario.
·
WindowState: Estado inicial del formulario (normal,
maximizado o minimizado)
·
Picture: Nos permite poner
como fondo una imagen.
Eventos:
·
Activate: Ocurre cuando el formulario se
convierte en la ventana activa.
·
Click: Ocurre cuando hace clic sobre el
formulario.
·
Deactivate: Ocurre cuando el formulario deja de ser
la ventana activa.
·
Load: Ocurre cuando se
carga un formulario.
·
Unload: Ocurre cuando un formulario está a
punto de descargarse.
Métodos:
·
Hide: Oculta el formulario.
·
Refresh: Actualiza el contenido del formulario.
·
SetFocus: Le entrega el enfoque al formulario.
·
Show: Hace visible el
formulario.
5.2.
Controles
básicos.
Con los controles, los usuarios pueden
operar y obtener los resultados de una aplicación. Puede añadir controles a un
formulario seleccionando la herramienta adecuada del Cuadro de Herramientas
(ToolBox). Entre los controles más comunes a
utilizar en una aplicación tenemos: Etiqueta (Label), Cuadro de Texto (TextBox) y Botón
de Comando (CommandButton).
-
Control Etiqueta (Label)
Se utiliza para mostrar texto que el
usuario no puede modificar. Generalmente para identificar otros controles en el
formulario o para mostrar instrucciones al usuario.
Propiedades:
·
Alignment: Alineación del texto dentro del
control.
·
AutoSize True/False: Determina si el tamaño del control se
ajusta automáticamente al texto quecontiene.
·
Caption: Texto que muestra el control.
·
Name: Nombre del control.
·
Font: Establece la
fuente, estilo y tamaño para el texto del control.
En el siguiente video os explico en que consiste este nuevo ejercicio:
-
Control Cuadro de Texto (Textbox)
Se utiliza para que el usuario le
proporcione datos a la aplicación o para que la aplicación le devuelva la
información al usuario. El texto que se muestra en el control puede ser
cambiado por el usuario.
Propiedades:
·
Enabled True/False: Establece un valor que determina si el
control puede responder a eventos generados por el usuario.
·
Font: Establece la
fuentes, estilo y tamaño para el texto del control.
·
Locked True/False: Determina si es posible modificar el
texto en el control.
·
MaxLength: Establece la longitud máxima permitida
para el texto en el control.
·
MultiLine: Establece si el control puede aceptar
múltiples líneas de texto.
·
Name: Nombre del control.
·
PasswordChar: Carácter utilizado para ocultar el texto
que realmente contiene el control.
·
Text: Texto que
realmente contiene y muestra el control.
·
Visible: Establece si el
control será visible para el usuario.
Eventos:
·
Change: Ocurre cuando cambia el texto que
contiene el control.
·
GotFocus: Ocurre cuando el control recibe el
enfoque.
·
KeyDown: Ocurre cuando el usuario presiona una
tecla mientras el control.
·
LostFocus: Ocurre cuando el control pierde el
enfoque.
Métodos:
·
Refresh: Actualiza el texto del control.
·
SetFocus: Mueve el enfoque al control.
-
Control Botón de Comando (Commandbutton)
Es un botón. Permite que la
aplicación inicie, interrumpa o termine un proceso.
Propiedades:
·
Cancel
True/False:
Establece si el botón se comportará como el botón cancelar en el formulario y
se invocará su evento Click cada vez
que se presione la tecla ESC.
·
Caption: Establece el texto que muestra el
botón.
·
Default
True/False:
Establece si el botón se comportará como el botón predeterminado en el
formulario.
·
Font: Establece la fuente,
estilo y tamaño para el texto del control.
·
Name: Nombre del botón.
·
Visible
True/False:
Establece si el botón será visible para el usuario.
Eventos:
·
Click: Ocurre cuando se hace clic sobre el
botón.
Métodos
·
SetFocus: Mueve el enfoque al botón.
En el siguiente video os explico en que consiste este nuevo ejercicio:
En el siguiente video os explico en que consiste este nuevo ejercicio:
-
Control Marco (Frame)
Este
control permite agrupar otros controles para darle mayor funcionalidad a la
interfaz. Los controles Botones de Opción necesariamente tienen que
estar agrupados por el control Marco. Para agrupar controles, dibuje
primero el control Marco y, a continuación, dibuje los controles dentro de
Marco.
Propiedades:
·
Caption: Título de marco.
·
Enabled: Determina si está habilitado para
responder a las acciones del usuario.
·
Name: Nombre del control.
·
Visible: Determina si el
Marco y los controles que contiene están visibles o no.
-
Control Casilla de Verificación (CheckBox)
Las
casillas de verificación se utilizan para proporcionar al usuario opciones de
tipo Si/No o Verdadero/Falso. Cuando el usuario selecciona una opción (activa
la casilla), aparece una marca de verificación ( ) dentro de la casilla.
Propiedades:
·
Caption: Descripción que acompaña a la casilla.
·
Enabled True/False: Determina si está habilitado para
responder a las acciones del usuario.
·
Name: Nombre del control.
·
Value: 0 –
Unchecked (Vacío, no marcado)
1
–
Checked (Marcado)
2 – Grayed
(Gris, Indefinido)
·
Visible: Determina si la
casilla está visible o no.
Eventos:
·
Click: Ocurre cuando el usuario hace clic
sobre la casilla.
-
Control Botón de Opción (OptionButton)
Estos
controles se utilizan para que el usuario seleccione una opción de un grupo
opciones. La opción seleccionada tiene un punto en el centro.
Propiedades:
·
Caption: Descripción que acompaña a la opción.
·
Enabled True/False: Determina si está habilitado para
responder a las acciones del usuario.
·
Name: Nombre del control.
·
Value True/False: marcado o no marcado.
·
Visible
True/False:
Determina si el botón está visible o no.
Eventos:
·
Click: Ocurre cuando el usuario hace clic
sobre el botón.
En el siguiente video os explico en que consiste este nuevo ejercicio:
Visual
Basic
dispone de varios controles con los que insertar gráficos en un formulario.
Algunos tienen más posibilidades que otros y es necesario conocerlos bien.
Veamos los CONTROLES GRÁFICOS que nos ofrece Visual Basic.
-
Control Line
Es el control gráfico más elemental, ya que carece de
propiedades como text,
caption y value. Además no
reconoce ningún evento, por lo que su misión es casi exclusivamente decorativa.
El control line
permite dibujar líneas en un formulario o en un control picture box (se verá más adelante). Las propiedades más importantes son
las coordenadas de los puntos extremos (X1, Y1, X2 e Y2), la anchura en pixels (BorderWidth), el estilo de la línea (BorderStyle) - continua, a
trazos, etc.- que sólo está activo cuando la anchura es 1 pixel, el color (BorderColor) y el
nombre (Name).
La línea puede estar visible o no (Visible).
-
Control Shape
Este control es en muchos aspectos
similar al control line: tampoco
tiene las propiedades text,
caption y value, ni
reconoce eventos. Se diferencia en que admite formas geométricas más complejas,
que vienen definidas por la propiedad shape, que admite los valores siguientes: cuadrado (Square),
rectángulo (Rectangle),
círculo (Circle),
elipse (Oval), cuadrado redondeado (Rounded Square) y rectángulo redondeado (Rounded Rectangle).
Además de las propiedades correspondientes al tamaño y
posición, las propiedades más interesantes del control shape son las siguientes: BackColor, BackStyle, BorderColor, BorderStyle, BorderWidth, FillColor, FillStyle, DrawMode. Un
control shape
puede estar visible o no (Visible).
-
Control Imagen (Image)
El control Image se utiliza para mostrar un
gráfico. Un control Image
puede mostrar un gráfico desde un mapa de bits, un icono o un metarchivo, así
como un metarchivo mejorado, un archivo JPEG
o archivos GIF.
Propiedades:
·
Picture: Devuelve o
establece un gráfico que se mostrará en el control. También se le puede asignar
un gráfico devuelto por la función LoadPicture.
·
Stretch True/False: Devuelve o establece un valor que
indica si un gráfico cambia su tamaño para ajustarse al de un control Image.
En modo de ejecución se puede copiar el contenido de un
control image
en otro control del mismo tipo por medio de una sentencia de asignación en la
forma:
imgCuadro.picture = imgCaja.picture
y se puede también
cargar una imagen de un fichero utilizando el procedimiento LoadPicture, por ejemplo en la
forma siguiente (habrá que estar seguro de que existe el fichero):
imgCuadro.picture
= LoadPicture("C:\graficos\pc.wmf")
Aunque
el control image
admite algunos eventos (Click, DblClick, DragDrop, DragOver, MouseUp, MouseDown, MouseMove), sus posibilidades son también limitadas.
Por la forma en que se dibuja, el control image no puede estar sobre otro
control, como por ejemplo un botón . Tampoco puede
contener otros controles en su interior: sólo puede contener gráficos.
Finalmente, este control no puede obtener el focus y por tanto no puede
responder a acciones desde el teclado.
-
Control PictureBox
Este
es el control gráfico más potente y general de Visual Basic. Se trata de
una especie de formulario reducido, pues puede contener imágenes y otros tipos
de controles tales como botones, labels, cajas de texto, etc.
El control picturebox no
tiene propiedad stretch,
con lo cual al cargar un icono o un bitmap siempre aparecen con su tamaño natural Sin embargo el control picturebox tiene la propiedad AutoSize, que por
defecto está en false.
Cuando se carga un bitmap con AutoSize en false el gráfico aparece en la esquina superior izquierda del
control; sin embargo, si AutoSize
está en true el control picturebox
adapta su tamaño al del bitmap
que es cargado.
En el control image se cargan con su verdadero tamaño si la propiedad stretch es false, mientras que se adaptan al tamaño
del control si dicha propiedad es true.
Con el control picturebox
se adaptan al tamaño del control si AutoSize es false,
mientras que se cargan con su propio tamaño si es AutoSize es true.
Propiedades:
·
BackColor : controla el color de fondo del
control.
·
ForeColor: controla el color del texto que se
escribe en el control.
·
FillColor y FillStyle: no afectan
directamente al control sino a los elementos gráficos que se dibujen sobre él. FillStyle
determina el tipo de relleno o pattern (líneas horizontales, verticales, inclinadas,
cruzadas), mientras que FillColor
determina el color de estas líneas del relleno.
-
Control Barra de Desplazamiento: Barra de Desplazamiento
Horizontal (HScrollBar) y Barra de Desplazamiento
Vertical (VScrollBar)
Son
usados con frecuencia para permitir rápidos desplazamientos a través de una
lista grande de items.
Por ejemplo: archivos, indicadores de posición actual de una escala de valores,
indicadores de volumen en un sistema de audio.
Propiedades:
·
LargeChange: De 1 a 32767. Cantidad de cambio cuando
el usuario hace clic en el desplazamiento largo.
·
Max: Máximo valor de
desplazamiento cuando el botón se encuentra en la posición más alta. Valor
predeterminado: 32767.
·
Min: Mínimo valor
del desplazamiento cuando el botón se encuentra en la posición más baja. Valor
predeterminado: 0.
·
Name: Nombre del control.
·
SmallChange: De 1 a 32767. Cantidad de cambio cuando
el usuario hace clic en la flecha de desplazamiento.
·
Value: Valor actual en la escala de valores.
Evento:
·
Change: Ocurre cuando el usuario se desplaza o
se cambia el valor de la propiedad Value.
-
Control Cuadro de Lista (ListBox)
Un
control ListBox
muestra una lista de elementos entre los cuales el usuario puede seleccionar
uno o más elementos. Si el número de elementos supera el número que puede
mostrarse, se agregará automáticamente una barra de desplazamiento al control ListBox. La
propiedad List
es un arreglo que contiene los elementos de la lista, y comienza con índice 0.
La propiedad ListCount establece el número total de
elementos de la lista. La propiedad ListIndexcontiene el índice del elemento seleccionado, el
cual es un número entre 0 (primer elemento) y el número total de elementos en
la lista –1 (ListCount
– 1). Si no se selecciona ningún elemento, el valor de la propiedad ListIndex será
–1.La propiedad NewIndex
contiene el índice del último elemento añadido a la lista. Esto puede ser útil
si desea hacer algo con el elemento añadido, por ejemplo, que sea el elemento
actualmente seleccionado.
Propiedades:
·
Enabled True/False: Determina si el control responde a las
acciones del usuario.
·
List: Arreglo con los elementos de la lista.
·
ListCount: Número de elementos de la lista.
·
ListIndex: Elemento seleccionado.
·
MultiSelect: Establece si es posible seleccionar
varios elementos o uno solo.
·
Name: Nombre del control.
·
NewIndex: Indice del
último elemento añadido al Cuadro de Lista.
·
Selected: Arreglo de valores lógicos paralelo y
del mismo tamaño al arreglo list, indica que
elementos han sido seleccionados (True) de la lista. Se utiliza en lugar de ListIndex cuando establecemos la propiedad Multiselect en 1 ó
2.
·
Sorted True/False: Establece los elementos se ordenan
alfabéticamente.
·
Style: Establece el
comportamiento del control.
·
Text: Devuelve el
elemento seleccionado en el cuadro de lista; el valor de retorno es siempre
equivalente al que devuelve la expresión List (ListIndex). Es de sólo lectura en
tiempo de diseño y es de sólo lectura en tiempo de ejecución.
Métodos:
·
AddItem: Permite añadir nuevos elementos a la
lista.
·
RemoveItem: Permite eliminar elementos de la lista.
Eventos:
·
Click: Ocurre cuando el usuario interactúa con
el control.
-
Control Cuadro Combinado (ComboBox)
Un control ComboBox
combina las características de un control TextBox
y un control ListBox; los usuarios
pueden introducir información en la parte del cuadro de texto o seleccionar un
elemento en la parte de cuadro de lista del control. Para agregar o eliminar
elementos en un control ComboBox, se
usa el método AddItem o RemoveItem. Establezca las propiedades List, ListCount y ListIndex para permitir a un usuario tener
acceso a los elementos de un control ComboBox.
Como alternativa, puede agregar elementos a la lista mediante la propiedad List en tiempo de diseño.
Propiedades:
·
Enabled True/False: Determina si el control responde a las
acciones del usuario.
·
List: Arreglo con los elementos de la lista.
·
ListCount: Número de elementos de la lista
·
ListIndex: Elemento seleccionado.
·
Name: Nombre del control.
·
NewIndex: Indice del
último elemento añadido al cuadro de lista.
·
Sorted True/False: Establece si los elementos se ordenan
alfabéticamente.
·
Style: Establece el
comportamiento del control.
·
Text: Texto que
contiene el control.
Métodos:
·
AddItem: Permite añadir nuevos elementos a la
lista.
·
RemoveItem: Permite eliminar elementos de la lista.
Eventos:
·
Click: Ocurre cuando el usuario interactúa con
la lista del control.
·
Change: Ocurre cuando el valor de la propiedad Text
es modificado.
Propiedad Style
Esta propiedad establece el
comportamiento del control ComboBox, y
puede tomar los siguientes valores:
Constante |
Valor |
Descripción |
vbComboDropDown |
0 |
Cuadro
combinado desplegable. Incluye una lista desplegable y un cuadro de texto. El
Usuario puede seleccionar datos en la lista o escribir en cuadro de texto. |
vbComboSimple |
1 |
Cuadro combinado
simple. Incluye un cuadro de texto y una lista, que no se despliega. El
usuario puede seleccionar datos en la lista o escribir en el cuadro de texto.
El tamaño de un cuadro combinado simple incluye las partes de edición y de
lista. De forma predeterminada, el tamaño de un cuadro combinado simple no
muestra ningún elemento de la lista. Incremente la propiedad Height para mostrar más elementos de la
lista |
vbComboDrop-DownList |
2 |
Lista desplegable.
Este estilo sólo permite la selección desde la lista desplegable. |
-
Control Temporizador (Timer)
Un
control Timer puede ejecutar código a
intervalos periódicos produciendo un evento Timer. El
control Timer, invisible para el usuario,
resulta útil para el procesamiento de fondo.
Propiedades:
·
Enabled True/False: Activa o desactiva el control. Si se
desactiva el control Timer, estableciendo
·
Enabled a False, se cancelará la cuenta atrás
establecida por la propiedad Interval del control.
·
Interval Devuelve o
establece el número de milisegundos entre las llamadas al evento Timer de un
control Timer. Los valores admitidos para
milisegundos son 0, que desactiva el control
·
Timer, o de 1 a
65535. El máximo, 65535 milisegundos, equivale a poco más de un minuto.
Eventos:
·
Timer Ocurre cuando
ha transcurrido un intervalo preestablecido para el control Timer.