guia de visual basic - Documento sin título

Anuncio
VISUAL BASIC:
Para entender lo que este lenguaje de programación quiere decir es necesario
descomponerla en dos partes:
VISUAL: Anteriormente era necesario escribir una gran cantidad de código en el lenguaje
para formar la interfaz de usuario y además eran mucho menos eficientes y más difíciles de
entender. Mediante la creación de una interfaz de usuario mediante objetos (controles)
prediseñados puede cambiar de forma sencilla la interfaz de usuario reduciendo el tiempo de
trabajo y la eficiencia del mismo, esto es lo que propone la palabra Visual, crear de forma sencilla
la interfaz de usuario de modo que no sea necesario dedicar tanto tiempo a la creación de la
misma.
BASIC: Esta palabra es la abreviación de las siglas (en inglés) Beginners All-Purpose
Symbolic Instriction Code, se refiere al lenguaje de programación más utilizado en la historia de la
informática y la programación, aunque en principio era un poco más sencillo, ahora muchas más
instrucciones y métodos que se han adaptado para crear aplicaciones bajo ambiente Windows.
Entonces Visual Basic se refiere al lenguaje de programación de computadoras que
combina las facilidades de trabajo que ha desarrollado Microsoft en un entorno de interfaz visual,
con el lenguaje de programación BASIC, por ello ahora la forma de crear una interfaz de usuario se
torna mucho mas económica, en los que a líneas de código se refiere y por lo tanto a ganar tiempo
para realizar programas con mucho y hasta nada de código.
1. EL ENTORNO DE DESARROLLO DE VB 6.0
Primero, se presenta la primera pantalla que aparece al ejecutar el comando de entrada de
VB 6.0. Fig. 1.
FIGURA 1. Primera Pantalla que aparece al ejecutar VB 6.0.
En ella, aparece el cuadro de diálogo “Nuevo proyecto” que ofrece tres fichas de opciones
al comenzar en la sesión con Visual Basic, estas son:
• Nuevo: Propone crear un nuevo proyecto.
En ella aparece seleccionado por defecto EXE estándar. EXE es la abreviación de
EXECUTE o en español -proyecto ejecutable-. Esta opción nos crea un nuevo proyecto que
después de compilado nos crea una aplicación. Este es el elemento que más comúnmente
utilizaremos, ya que la presente investigación hace referencias a creaciones ejecutables. No hay
ejemplos de librerías dinámicas (*.dll o DLL ActiveX) ni a controles ActivesX (*.ocx) ni otro tipo de
aplicación; así que si desea buscar información sobre estos tipos de proyectos, puede abandonar
esta lectura.
• Existente: Propone abrir un proyecto que fue creado anteriormente, desplega el cuadro
de diálogo Abrir para buscar el proyecto en el directorio.
• Reciente: Propone también abrir un proyecto ya creado, pero a diferencia de
Existentes, éste nos desplega una lista de los proyectos que han sido creados o modificados en las
últimas sesiones de trabajo con VB 6.0.
Para comenzar, se creará un nuevo proyecto haciendo doble-clic en EXE estándar. VB
desplegará la siguiente pantalla.
Figura 2. Entorno integrado de desarrollo de VB 6.0
El Sector 1 en la Fig. 2 se llama Formulario del proyecto. El formulario será la ventana de
aplicación o interfaz del usuario cuando el programa se compile o se ejecute. Un programa puede
tener uno o varios formularios, y se puedes abrir y cerrar cada uno de ellos según se necesite. En
ellos se agregarán los controles que sirven para crear una aplicación e interactuar con el usuario.
La pantalla blanca que se ve detrás del formulario es la pantalla donde se agrega el código
del programa.
La Fig. 3 (Sector 2 de la Fig. 2) es el Cuadro de herramientas, ella
proporciona algunas de las herramientas que puede agregar al formulario en
tiempo de diseño. Estas herramientas son llamadas controles y alguno de
ellos son las Etiquetas (Labels), Cuadro de texto (TextBox), botones de
comandos (CommandButton. Ver Controles en la Sección Nro. 4.
Para realizar la primera aplicación (Programa #1) se deben agregar
dos controles al formulario número uno. Haga clic sobre CommandButton en
Cuadro de Herramientas; el puntero del mouse tomará una forma de cruz
cuando esté por encima del formulario, dibuje el tamaño del control en el
mismo, para ello mantenga el clic presionado mientras dibuja el tamaño y
luego suelte el botón del mouse. Se dibujará en el formulario un botón de
comando con Caption (texto que se muestra) igual a Command1 e igual
nombre. Agreguemos también un Cuadro de texto (Textbox), para ello haga
clic sobre Textbox y luego dibújelo en el formulario mediante el mismo
procedimiento, aparecerá un cuadro de texto con Text (texto que se ve igual
Figura 3. Cuadro
a Text1) e igual nombre.
de Herramientas
El Sector 3 de la Fig. 2 muestra la Barra de herramientas (parte
superior de la Fig. 2). Las Barras de herramientas también se encuentran en
programas como Word, PowerPoint y Excel, entre otros y por ello ya es muy
probable que ya sean conocidas. Ella proporciona un acceso a los comandos utilizados cuando
está creando una aplicación. Puede agregar o quitar barras si hace clic en el botón secundario del
mouse sobre la barra de herramientas y luego clic sobre la que desea agregar o quitar.
Para usar la Barra de herramientas diríjase al Menu Ejecutar y luego haga clic sobre Iniciar.
Se iniciará una prueba del programa, por ahora sólo mostrará el formulario con los controles
Command1 y Text1. También puede agregar un formulario al proyecto, para ello diríjase al menú
Proyecto y luego haga clic sobre Agregar formulario, después clic sobre Formulario.
La Fig. 4 modela lo que es el Explorador de Proyectos
(Sector 4 de la Fig. 2). Una aplicación puede contener uno o mas
elementos (nuestro ejemplo tiene dos formularios) y si quiere tener
acceso a uno de ellos tendrá que ir al Explorador de proyectos
hacer un clic sobre el elemento y luego clic en Ver Objeto o Ver
Código, según lo que desea.
En este ejemplo existe un proyecto con dos formularios
Form1(no seleccionado) y Form2 (seleccionado). Si hace clic en
Ver Objeto mostrará el formulario 2 si lo hace en Ver Código
mostrará el código de este formulario. En principio sólo es una
Figura 4. Explorador de
pantalla en blanco, ya que no hay código hasta el momento.
Proyectos
Si no puede ver esta ventana directamente, tendrá que ir
al menú Ver de la Barra de herramientas y luego hacer clic sobre
Explorador de Proyectos.
En la Fig. 5 se hace referencia a la Ventana Propiedades
(Sector 5 de la Fig. 2). Las propiedades son un conjunto de
características que determinarán la forma de los controles o
formularios. Algunas propiedades comunes son el nombre (para
identificarlo en el código), el alto, ancho, color del fondo y
muchas mas según el tipo de control con el que trabaja, por ello
cambia cada vez que cambia el enfoque del tipo de control. Es
decir, las características de un formulario no son iguales a las
características de una etiqueta, botón de comando o de un
cuadro de texto. Por ejemplo, haga clic sobre el botón de
comando Command1 y eche un vistazo sobre las diferentes
propiedades, observará un cuadro igual a la Fig. 5. Ahora, haga
clic sobre cualquier parte del formulario (que no sea Command1)
o sobre el control Text1, verá que algunas propiedades no se
encuentran, y en cambio aparecen otras.
Para utilizar esta Ventana, presione un solo clic sobre el
Control Command1 y en la Ventana Propiedades, cambie
Caption de Command1 a Saludar, vaya ahora al Cuadro de
Figura 5. Propiedades
texto, ubique la propiedad Text, borre el contenido (Text1) y
déjelo en blanco.
La Fig. 6 que proporciona la parte 6 de la Fig. 2 es la imagen de la ventana Posición del
Formulario. Ésta ventana permite cambiar la posición del formulario antes de que la aplicación vaya
a ser ejecutada. Puede utilizar esta pantalla cambiando la posición del formulario arrastrándola con
el ratón (mouse) y luego verificarla ejecutando el proyecto.
Figura 6. Ventana Posición
del Formulario
Programa #1. Saludar:
Ahora se debe escribir un poco de código para crear la primera aplicación.
Para comenzar se puede hacer de tres maneras. Verifique que el formulario 1 con los dos
controles (TextBox y CommandButton) este activo en el Explorador de Proyectos, haga clic sobre
Ver Código y aparecerá una pantalla en blanco para empezar a escribir código, también verá que
inmediatamente arriba de esta pantalla aparece la palabra (General) que contiene una lista,
busque en ella la palabra Command1, este llamará directamente al evento clic, es decir, las
secuencias de comandos que se efectuarán al hacer clic en este botón. La otra manera es verificar
que el formulario activo (en el Explorador de Proyectos) sea el que tiene los dos controles
(Command1 y Text1), haga clic en Ver Objeto, y luego haga doble clic sobre el botón que dice
Saludar, se desplegará el siguiente código:
Private Sub Command1_Click()
End Sub
La tercera manera es escribir directamente el código que se mostró.
Aquí se escribirán las sentencias que se efectuarán cuando haga clic en el botón Saludar
(ya que Command1 es el nombre del botón).
Ahora copie y pegue este código o escriba, de tal manera que quede de la siguiente
manera:
Private Sub Command1_Click()
If Command1.Caption = "Saludar" Then
Text1.Text = "¡Hola!, ¿Cómo estas?"
Command1.Caption = "Borrar"
Else
Text1.Text = ""
Command1.Caption = "Saludar"
End If
End Sub
Ejecute la aplicación con F5 o Iniciar
en la Barra de Herramientas e interactúe con el
programa.
Si desea una explicación detallada de este programa vaya a la Sección Explicación
Detallada de Programas en los capítulos finales. (Ver índice)
De aquí podemos concluir que las propiedades de los controles pueden cambiar, tanto en
tiempo de diseño como en tiempo de ejecución.
Nota: Para cerrar una sesión de trabajo con VB y abrir un Nuevo proyecto, puede guardar el
formulario, el proyecto y luego buscar en el Menú Archivo de la barra de herramienta, haga clic en
Quitar Proyecto, esto cierra el proyecto y puede crear uno nuevo en Archivo – Nuevo Proyecto. Si
no quita el proyecto y crea uno nuevo, se creará un Grupo de Proyectos.
2. PROPIEDADES, MÉTODOS, EVENTOS Y CONSTANTES.
•
Propiedades:
Como ya se ha mencionado en varias ocasiones, los controles y los formularios contienen
propiedades, éstas son, sus características particulares que los diferencian de otros.
Por ejemplo si hablamos de una silla, ésta tendrá propiedades como el material, número de
patas, tamaño, forma del asiento, y otras.
En Visual Basic las propiedades se identifican en el código por tener la forma:
Objeto.Propiedad = Valor
Donde Objeto es el elemento al cual se hace referencia y valor es una constante o variable
que llama a una constante. El valor que identifica la propiedad.
Si hablamos de la Silla, podríamos decir:.
Silla.Material = Madera
Silla.Patas = 4
Silla.Tamaño = 1,5
Se dice una variable que llama a una constante ya que, puede asignar a una variable un
valor y luego llamar a esta variable de la siguiente manera:
Material = Madera
Silla.Material = Material
En el Examinador de Objetos, o en el transcurso de una programación se pueden
identificar las propiedades por tener a su lado una figura como esta:
Lleve a cabo una pequeña demostración. En el programa #1, diríjase a la pantalla Ver
Código y escriba Command1. (la palabra Command1 más el punto), se desplegará una lista de
propiedades y métodos de los botones de comandos, en este caso de Command1. Observe la
figura que se encuentra a su lado.
•
Los Métodos:
Los métodos son las diferentes acciones que puede realizar un elemento.
Por ejemplo la silla puede inclinarse, volver a su posición inicial, subir o bajar su cabecera,
moverse de un lado a otro, entre otros.
Los Métodos se diferencian en el código de las propiedades ya que no les sigue el signo
igual, pero podría tener un valor, es decir, tienen la siguiente forma:
Objeto.Método [Valor]
Así podemos llamar los siguientes métodos de la silla:
Silla.Inclinar 20°
Silla.Volver
El valor sólo aparece en algunos casos, es decir es opcional y depende del método que se
esté utilizando. Puede tener más de un valor. Ejemplo:
Silla.Mover (3mts adelante, 2mts hacia la derecha)
Los métodos se identifican en el Examinador de Objetos o en el transcurso de la
codificación por tener a su lado la siguiente figura:
Realice la misma prueba que en las propiedades (Command1.) y ubique los métodos
mediante la figura.
•
Los Eventos:
Los Eventos son los acontecimientos que pueden suceder mientras ejecuta una aplicación,
es decir, el clic a un botón de comando o a una etiqueta, esto llama a un procedimiento, a una
secuencia de comandos.
Estos se pueden Observar en el Código por la secuencia Sub, de la siguiente manera.
Sub Objeto_Evento([argumentos])
- Comando1
- Comando2
- ...Otros Comandos
End Sub
Por ejemplo, haciendo referencia a la silla observe lo que sucede al evento sentarse.
Sub Silla_Sentarse()
Peso es Variable
Si Peso es mayor a 100kg, entonces:
Silla.Romper
Sillas.Patas=0
Sino
Silla.Soportar
Fin de Secuencia Si
End Sub
El código describe los sucesos que se ejecutarán cuando suceda el evento sentarse.
Los eventos pueden encontrarse en el Examinador de Objetos, por medio de la figura de
un rayo
.
•
Las Constantes:
Son valores numéricos o cadenas de texto que hacen referencia a un estado. Por ejemplo:
En las casillas de verificación la propiedad Value del control puede tomar tres constantes:
- vbUnchecked, que corresponde al valor 0.
- VbChecked, que corresponde al valor 1.
- VbGrayed, que corresponde al valor 2
Se puede colocar su cadena de texto que corresponde a dicho estado o su valor numérico
si se quiere colocar en su forma abreviada. En VB 6.0 se utilizan mucho este tipo de constantes.
Las constantes se identifican en el Examinador de Objetos por tener a su lado una figura
como la siguiente:
3. EL EXAMINADOR DE OBJETOS
El Examinador de Objetos es un tipo de ayuda de VB, que se utiliza generalmente para
encontrar los detalles de las distintas propiedades, los métodos, funciones, eventos o constantes.
Por ello es muy funcional a la hora de programar.
Para acceder a él, mientras esté en una sesión de programación, presione la tecla F2 o
vaya a la Barra de Herramientas en el menú Ver, busque Examinador de Objetos, se desplegará la
siguiente pantalla:
Por ejemplo, supongamos que deseamos verificar cuales son las diferentes constantes de
los estilos que se pueden emplear al crear un Cuadro de Mensaje (MsgBox), podemos escribir la
palabra MsgBox y el Examinador de objetos mostrará una serie de Clases que coinciden con la
palabra buscada, entre ellas VbMsgBoxStyle, puede hacer clic en ella y ver en la lista inferior las
constantes, tanto su modo abreviado como su equivalente numérico.
También puede acceder a las explicaciones de los distintos eventos de los controles o
formularios, para ello busque en la lista inferior izquierda el control al que desea encontrarle un
evento, por ejemplo CommandButton, la lista inferior derecha mostrará sus distintas propiedades,
métodos y eventos.
Si ahora hace clic sobre uno de ellos, en la parte inferior se muestra la explicación de dicho
elemento.
4. LOS CONTROLES:
Los controles son una variedad de herramientas prediseñadas que pueden ser utilizados
en una aplicación según la finalidad de la misma.
Por la particularidad de cada una puede emplearse en ciertas circunstancias para mostrar
información, pedir información, enlistar miembros, desplegar imágenes o crear la ocasión para
realizar cálculos, entre otras.
Como ya dijimos, los controles están ubicados en el Cuadro de Herramientas
(generalmente en la parte izquierda de la pantalla). Ya hemos interactuado un poco con los
controles, pero en esta sección se explicarán cada uno de ellos por separado, utilizando en los
programas algunas de sus propiedades, métodos y eventos.
Los controles que aparecen siempre por defecto son:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Control Label: Etiqueta
Control TextBox: Cuadro de Texto
Control PictureBox: Cuadro de Imagen
Control Frame: Marco
Control CommandButton: Botón de Comando
Control CheckBox: Casilla de Chequeo
Control OptionButton; Botón de Opción
Control ListBox: Cuadro de Lista
Control ComboBox: Cuadro Combinado
Controles HScrollBar y VScrollBar: Barras de desplazamiento.
Control Timer: Control de tiempo (Reloj)
Control DriveListBox: Lista de Unidades de Discos
Control DirListBox: Lista de Directorios
Control FileListBox:: Lista de Archivos
Control Shape: Formas
Control Line: Línea
Control Image: Imagen
Control Data: Datos
Control OLE: Contenedor OLE
Estos controles son llamados controles intrínsecos, ya que aparecen en todas las sesiones
y no se pueden quitar del Cuadro de Herramientas.
Pero además de éstos, existen otros controles que se pueden quitar o agregar y no
aparecen por defecto, aparecen en una lista adicional.
Para acceder a esta lista presione el botón secundario del mouse sobre el Cuadro de
Herramientas, en la lista que se desplega presione clic sobre Componentes; también lo pude hacer
Buscando en el Menú Proyecto – Componentes o simplemente CONTROL+T. De esta lista se dará
una explicación del control CommonDialog.
Ahora, mediante el Examinador de Objetos, se recomienda dedicar un tiempo a estudiar
las diferentes propiedades, los métodos y eventos de éstos distintos controles, aunque ya tenga
algo de experiencia siempre nos podemos encontrar con algún elemento nuevo. Para ello,
introduzca su nombre (Ejemplo: TextBox) y presione Buscar.
ETIQUETAS: (LABEL)
Las etiquetas se utilizan generalmente para dos fines:
• Escribir texto en el formulario, de modo que no esté disponible la opción de copiar
y pegar.
Con esto, por ejemplo, se pueden identificar nombres de variables para el usuario.
(Ver Programa # 2).
•
Mostrar resultados de modo que no se tenga la opción de copiar y pegar. (Ver
Programa # 2).
Programa #2. Sumar:
El siguiente programa agrega un valor a una suma.
Diseñe el formulario con tres etiquetas (Label), un Cuadro de texto (TextBox) y un botón de
comando (CommandButton).
Establezca en las etiquetas las siguientes propiedades:
• La primera (Label1) con Caption: &Valor =
(Indica al usuario que en el Text1, agregará el valor a sumar).
• La segunda con (Label2) con Caption: Resultado =,
(Indica al usuario que el resultado se presenta a su lado) y,
• En la tercera cambie el nombre (Name) a lblResultado y cambie la propiedad
BorderStyle = (1 – Fixed Single), que parece un cuadro de texto con fondo gris.
Luego, cambie el Caption del formulario a SUMA.
En el cuadro de texto genere su propiedad Text a cadena vacía (borre Text1).
En el botón de comando su Caption: &Sumar.
Verifique que la propiedad TabIndex de la etiqueta que dice &Valor = sea un número
menor que la propiedad TabIndex del Cuadro de Texto txtValor.
El símbolo (&) no aparecerá en el Caption y el efecto que produce es que subraya la letra
que le sigue (en este caso la letra S) y crea un acceso directo (al presionar la combinación ALT+S
se llamará al evento clic del comando o al presionar ALT+V tomará el enfoque el control Text1).
Ahora reubique las posiciones de los controles en tiempo de diseño de modo que se
visualicen de la siguiente manera:
A continuación empecemos a codificar, para ello, haga clic en Ver Código en el Explorador
de Proyectos.
Escriba en la pantalla en blanco:
Public Suma As Double
Busque en la lista que dice (General) la palabra cmdSumar y cuando aparezcan las dos
líneas para agregar código agregue las siguientes sentencias, de tal manera que aparezca:
Private Sub Command1_Click()
Dim Valor As Double
If Text1.Text = "" Then
Valor = 0
Else
Valor = CDbl(Text1.Text)
End If
Suma = Suma + Valor
lblResultado.Caption = Suma
Text1.Text = ""
End Sub
Ejecute la aplicación con F5, o en el menú Ejecutar.
Verifique que el contenido de la suma no se puede copiar y pegar.
También después de introducir un valor en el cuadro de texto, en vez de presionar clic
sobre sumar, presione la combinación de teclas ALT+S, compruebe que se genera el mismo
evento. Para que vuelva a tomar el enfoque Text1, presione la combinación Alt+V. Esto sucede ya
que, como la etiqueta no puede tomar el enfoque pasa el enfoque a su TabIndex superior en uno,
en este caso el cuadro de texto.
La explicación de la codificación se encuentra en la Sección Explicación Detallada de
Programas en los últimos capítulos.
En este ejemplo se trabajaron con las propiedades de las etiquetas, Name (nombre),
Caption (título), BorderStyle (Estilo del Borde) y TabIndex (Índice de Tabulación). Existen otras
propiedades que también son muy utilizadas que son AutoSize (Ajustar horizontalmente al tamaño
del Caption) y WordWrap (Ajustar verticalmente al tamaño del Caption).
Para ver la explicación de otras propiedades, métodos o eventos puede dirigirse al
Examinador de Objetos con la tecla F2.
CUADROS DE TEXTOS: (TEXTBOX)
Los Cuadros de texto son muy utilizados en las aplicaciones con VB, tiene mucha
funcionalidad, pero generalmente son usados para:
• Leer valores o cadenas de texto para trabajar con ellos.
• Mostrar resultados tal como las etiquetas, pero en este caso facilita la posibilidad
de copiar y pegar.
Los Cuadros de texto son generalmente modificables en tiempo de ejecución, pero puede
convertirlo a sólo lectura si establece su propiedad Locked a True (verdadero). En este caso sólo
tendrá la posibilidad de copiar, pero no la de pegar
Como ya se ha trabajado la propiedad Text de los cuadros de Texto, se presenta ahora la
explicación del método SetFocus y dos de los eventos que se pueden generar al trabajar con estos
controles, los mismos son Change (que ocurre cuando cambia el control) y KeyPress (que ocurre
que presiona una tecla cuando este control tiene el enfoque). Si quiere la explicación de otras
propiedades, métodos o eventos diríjase al Examinador de Objetos.
Altura.
Programa #3. Área de un triángulo:
Con este programa se calcula el área de un triángulo, los datos pedidos son la Base y la
Coloque tres etiquetas en un formulario:
• La primera con propiedad Caption: &Base=
• La segunda con propiedad Caption: &Altura=
• La tercera con propiedad Caption: Resultado=
Agregue también tres cuadros de textos:
• El primero con propiedad Name: txtBase
• El segundo con propiedad Name: txtAltura
• El tercero con propiedad Name: txtResultado
Coloque dos botones de comando:
• El primero con propiedad Name: cmdCalcular, Caption: &Calcular y Enabled: False
• El segundo con propiedad Name: cmdBorrar y Caption: B&orrar
Cambie la propiedad Caption del formulario a AREA.
Reubique los controles de tal manera que quede de la siguiente manera:
TxtBase está ubicado al lado de la etiqueta Base =.
TxtAltura al lado de la Etiqueta Altura = , y
TxtResultado al lado de la Etiqueta Resultado =.
Ahora, se puede empezar a codificar para realizar el programa, copie y pegue el siguiente
código o escriba:
Option Explicit
Private Sub cmdBorrar_Click()
txtBase = ""
txtAltura = ""
txtResultado = ""
cmdCalcular.Enabled = False
txtBase.SetFocus
End Sub
Private Sub cmdCalcular_Click()
Dim Base As Double, Altura As Double, Area As Double
Base = Val(txtBase)
Altura = Val(txtAltura)
If IsNumeric(txtBase) And IsNumeric(txtAltura) Then
Area = Base * Altura / 2
txtResultado = Area
Else
MsgBox "No se acepta texto. Verifique para continuar", vbOKOnly +
vbExclamation, "Error"
End If
End Sub
Private Sub txtBase_Change()
If Len(txtBase) > 0 And Len(txtAltura) > 0 Then
cmdCalcular.Enabled = True
End If
End Sub
Private Sub txtBase_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
txtAltura.SetFocus
End If
End Sub
Private Sub txtAltura_Change()
If Len(txtBase) > 0 And Len(txtAltura) > 0 Then
cmdCalcular.Enabled = True
End If
End Sub
Private Sub txtAltura_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If cmdCalcular.Enabled = True Then
cmdCalcular.SetFocus
Else
TxtBase.SetFocus
End If
End If
End Sub
Ejecute la aplicación con la tecla F5, y compruebe las nuevas opciones que se han
generado en este programa, por ejemplo el reconocimiento de la tecla Enter (KeyAscii = 13) o
activar el botón de comando cuando ya se han rellenado los cuadros de texto con valores.
Para obtener una explicación detallada del programa puede ir a la Sección Detallada de
Programas y buscar el programa #3.
PICTUREBOX (CUADRO DE IMAGEN)
Los controles PictureBox se pueden utilizar para mostrar imágenes y mediante sus
métodos crear gráficos como líneas, cuadrados, rectángulos, círculos o elipses; aunque con un
poco de creatividad puede combinar varios de estos para realizar dibujos. Puede utilizarse también
como contenedores de otros controles, esto es muy útil por ejemplo para realizar barras de
herramientas o de estado. Otra opción que ofrece es la posibilidad de escribir sobre él mediante el
método Print.
Los formatos compatibles con este control son los archivos imágenes JPEG, formato de
intercambio gráfico (GIF), mapa de bits (BMP), íconos (ICO), cursores (CUR), metarchivo estándar
de Windows (WMF) o mejorados (EMF).
Puede mostrar una imagen en este control en tiempo de diseño mediante la propiedad
Picture, para cambiarla en tiempo de ejecución puede utilizar la siguiente:
Set Objeto.Picture = LoadPicture(Ruta)
Donde Ruta es la ruta y el nombre de la imagen (Ejemplo: “C:\Windows\Aros.bmp”) Si
desea quitar la imagen mostrada en el control se debe dejar en blanco los comandos de Ruta,
quedando de la siguiente manera:
Set Objeto.Picture = LoadPicture
Una desventaja que tiene este control con respecto al control imagen, es que el tamaño de
la imagen no se puede adaptar al tamaño del control, pero si el tamaño del control al tamaño de la
imagen mediante la propiedad AutoSize, si esta propiedad esta establecida como True (verdadera)
el tamaño del control se adapta al tamaño de la imagen, si el tamaño de la imagen es muy grande
debe tener cuidado de no opacar otros controles, si toma el valor False (Falso) no se cambia el
tamaño del control ni de la imagen, si la imagen es más grande que el control ésta se recortará.
Los Métodos Gráficos:
Como se mencionó anteriormente, en el control PictureBox puede dibujar formas como
puntos, líneas, círculos, elipses, arcos, cuadrados o rectángulos, además que permite escribir
sobre él. Estos métodos gráficos también son aplicables a los formularios.
•
Puntos: Se realizan mediante el método Pset:
Objeto.Pset (X,Y), [color]
Donde Objeto es el nombre del Cuadro de Imagen, de un formulario, o si se omite se hará
referencia al formulario actual (activo). X, Y son las coordenadas donde se colocará el punto. Estos
puntos tienen un tamaño de un píxel, siendo pequeños para la vista humana.
•
Líneas: Se utiliza el método Line:
Objeto.Line (X1,Y1)-(X2,Y2), [color]
Donde X1 y Y1 son las coordenadas del punto inicial y X2 y Y2 las del punto final, el color
es opcional.
•
Círculos: Se realizan mediante el método Circle:
Objeto.Circle (X,Y), radio, [color]
X, Y son las coordenadas del centro del círculo, radio el tamaño del radio y el color es
opcional.
•
Elipses: Se realizan mediante el método Circle:
Objeto.Circle (X,Y), radio, [color], [inicio], [fin], aspecto
Donde radio es la distancia más grande de la elipse, inicio y fin se colocan si se desea
realizar sólo un arco, y aspecto es la relación o proporción de la distancia vertical con respecto a la
horizontal, los valores mayores a uno dibujan elipses alargadas verticalmente, mientras que los
valores entre cero y uno dibujan elipses alargadas horizontalmente. No se aceptan valores
negativos.
•
Arcos: También se utiliza, por supuesto, el método gráfico Circle:
Objeto.Circle (X.Y), radio, [color], inicio, fin, [aspecto]
Donde inicio y fin son los ángulos de inicio y fin del arco en radianes y aspecto es opcional
y se coloca si desea dibujar el arco de una elipse.
•
Cuadrados o Rectángulos: Se realizan mediante el método Line:
Objeto.Line (X,Y)-Step(Ancho,Alto), [color], B
Donde las coordenadas X, Y son las coordenadas de la esquina superior izquierda. Si
desea rellenar el cuadrado, debe cambiar la sentencia B por BF.
• Escribir Texto: Se escribe texto mediante el método Print. Para establecer el lugar
donde se colocará el texto se utilizan las instrucciones Objeto.CurrentX y Objeto.CurrentY.
Objeto.CurrentX = CoordenadaX
Objeto.CurrentY = CoordenadaY
Objeto.Print "Escriba texto"
Notas Importantes: Es importante resaltar que la coordenada Y se mide de arriba hacia abajo, tal
como los formularios.
Si en algún método gráfico desea omitir el color, inicio o fin deberá dejar el espacio en
blanco entre las dos comas:
Ejemplo: un cuadrado donde se omite el color:
Objeto.Line (X,Y)-Step(Ancho,Alto), , B
O una elipse completa:
Objeto.Circle (X,Y), radio, color, , , aspecto
Como se puede ver el color es opcional en todos los métodos gráficos y si se omite este
presentará el color de la propiedad ForeColor cuyo valor predeterminado es negro.
Programa #4. Dibujar en un PictureBox:
El siguiente programa dibuja en un control PictureBox mediante los diferentes métodos
gráficos explicados anteriormente:
Para ello, agreguemos 7 botones de comando, y un control PictureBox. Cambie las
propiedades de la siguiente manera:
Todos los botones de comando tienen las propiedades:
Left: 240
Width: 1935.
Height: 375
Control
1er Botón de Comando
2do Botón de Comando
3er Botón de Comando
4to Botón de Comando
5to Botón de Comando
6to Botón de Comando
7mo Botón de Comando
8vo Botón de Comnado
PictureBox
Propiedades
Name: cmdMostrar
Caption: Mostrar &imagen
Top: 120
Name: cmdCuadrado
Caption: Dibujar c&uadrados
Top: 600
Name: cmdLinea
Caption: Dibujar &líneas
Top: 1080
Name: cmdPunto
Caption: Dibujar varios &Puntos
Top: 1560
Name: cmdElipse
Caption: Dibujar &Elipse
Top: 2040
Name: cmdCirculo
Caption: Dibujar &círculos y arcos
Top: 2520
Name: cmdTexto
Caption: Escribir &texto
Top: 3000
Name: cmdBorrar
Caption: &Borrar
Top: 3480
Name: Monitor
Height: 3735
Width: 4095
Left: 2280
Top: 120
BackColor: Blanco
Cambie la propiedad Caption del formulario para colocar un nombre al programa.
Ahora, copie y pegue el siguiente código, o escriba:
Option Explicit
Private Sub cmdMostrar_Click()
Set Monitor.Picture = LoadPicture("C:\Windows\Aros.bmp")
End Sub
Private Sub cmdCuadrado_Click()
Monitor.FillStyle=1
Monitor.Line (200, 400)-Step(700, 300), , B
Monitor.Line (1000, 2000)-Step(1000, 1000), vbYellow, BF
Monitor.Line (1000, 2000)-Step(1000, 1000), vbBlack, B
End Sub
Private Sub cmdLinea_Click()
Monitor.Line (200, 400)-(900, 700), vbBlack
Monitor.Line (2500, 500)-(1000, 2500), vbGreen
End Sub
Private Sub cmdPunto_Click()
Dim X As Integer, Y As Double
Monitor.PSet (200, 400), vbRed
Monitor.PSet (600, 500), vbBlue
Monitor.PSet (700, 800), vbGreen
For X = 1 To Monitor.Width
Y = 3 * X ^ (0.75) + 500
Monitor.PSet (X, Monitor.Height - Y), RGB(50, 200, 211)
Next X
End Sub
Private Sub cmdElipse_Click()
Monitor.FillStyle = 0
Monitor.FillColor = vbRed
Monitor.Circle (1200, 1200), 500, vbBlue, , , 2 / 3
End Sub
Private Sub cmdCirculo_Click()
Const Pi = 3.1415927
Monitor.FillStyle=1
Monitor.Circle (3000, 800), 300, vbRed
Monitor.Circle (2500, 2500), 700, vbBlack, Pi / 2, Pi
End Sub
Private Sub cmdTexto_Click()
Monitor.CurrentX = 2500
Monitor.CurrentY = 3000
Monitor.ForeColor = vbBlue
Monitor.Print "Muestra de texto"
End Sub
Private Sub cmdBorrar_Click()
Set Monitor.Picture = LoadPicture
End Sub
Ejecute e interactúe con el programa. La explicación del programa se encuentra en la
Sección Detallada de Programas.
MARCOS (FRAME):
Los Marcos actúan como agrupadores y contenedores de otros controles. Por ejemplo se
puede utilizar para agrupar botones de opción para que el usuario elija una de las opciones
presentadas o casillas de verificación para elegir varias opciones.
Puede colocar cualquier control sobre él y al colocarlo el control hará referencia con sus
propiedades top y left al marco y no al formulario.
(La explicación de los botones de opción puede encontrarla más adelante durante la
descripción de los controles)
Programa #5. ¿Dónde estudiar?
En este programa se utilizarán dos controles marcos (Frame) para agrupar botones de
opción. Para ello se deben seguir los siguientes pasos:
•
•
•
•
•
•
•
•
•
Dibujar una etiqueta en la parte superior del formulario, con las siguientes propiedades
Caption: (Borre su contenido)
Height: 375
Width: 4575
Left: 120
Top: 120
BorderStyle: 1 – Fixed Single
Dibujar ahora un control Frame (marco) con las siguientes propiedades:
Caption: Carrera
Height: 1575
Width: 2055
Left: 120
Top: 600
Colocar un botón de opción dentro del marco. Colocando el nombre optCarrera y
Caption igual a Ingeniería.
Se va a crear una matriz de controles, para ello, se debe copiar el botón de opción y al
pegar se desplegará un mensaje de diálogo que preguntará. ¿Desea crear una matriz
de controles? Responda Si. Se pegará un control cuyo Caption se debe cambiar a
Arquitectura. Después corte este control, seleccione el marco (haga clic sobre él) y
pegue el control. Esto se hace para asegurar que el control quede dentro del marco
seleccionado. Luego, colóquelo debajo del anterior botón de opción. Después, se debe
pegar otro control (botón de opción) como matriz de control cuyo Caption va a cambiar
a Letras.
Ahora se colocará otro control Frame (marco), se dibujará este control sobre el
formulario asignando las siguientes propiedades:
Caption: Institución
Height: 1575
Width: 2415
Left: 2280
Top: 600
Se van a colocar también tres botones de opción, el nombre para el primero es (no su
Caption, sino su propiedad Name) es optInstitucion, cree la matriz de controles y
colóquelos dentro de este marco, sus caption respectivos son: Universidad Nacional,
Universidad Estatal y universidad Municipal.
Se asigna a la propiedad TabIndex del botón de opción que dice Universidad Nacional
el valor cero (0).
Coloque debajo de los marcos un botón de comando con Caption igual a &Salir.
Ahora le toca el paso a la codificación:
Copie y pegue el siguiente código o escriba:
Public strCarrera As String, strInstitucion As String
Private Sub optCarrera_Click(Index As Integer)
strCarrera = optCarrera(Index).Caption
Call Display
End Sub
Private Sub optInstitucion_Click(Index As Integer)
strInstitucion = optInstitucion(Index).Caption
Call Display
End Sub
Private Sub Display()
Label1.Caption = "Ha decidido estudiar " & strCarrera & _
" en la " & strInstitucion
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
BOTONES DE COMANDO (COMMANDBUTTON):
Ya se ha trabajado un poco con ellos, su finalidad es de generar acciones cuando se hace
clic sobre ellos, pueden tomar el enfoque con el método SetFocus y el evento principal es el evento
clic.
Otra propiedad que se puede mencionar es Default. Ésta sólo puede tomar el valor
verdadero o falso y determina qué control CommandButton es el botón de comando
predeterminado en un formulario. Sólo un botón de comando de un formulario puede tener esta
propiedad como verdadera. Así, si cualquier control del formulario tiene el enfoque al presionar la
tecla Enter llama al evento clic del nombre del control.
Por ahora, no realizaremos programas para aplicar esta propiedad.
CASILLAS DE VERIFICACIÓN (CHECKBOX):
Las Casillas de Verificación funcionan también como botones de opción, pero en este caso
se puede seleccionar cualquier número de casillas, se puede seleccionar ninguna, una o más de
una opción.
La propiedad más importante de este control es Value, que puede tomar tres valores:
• Desactivada: En este caso la propiedad Value toma el Valor 0 o también
vbUnchecked.
• Activada: La propiedad Value toma el valor 1 o vbChecked.
• No Disponible: La propiedad Value toma el valor 2 o vbGrayed. Este caso se
utiliza si desea deshabilitar el control.
Si el control está habilitado, éste responde al evento clic cambiando su propiedad value a
activado o desactivado, según sea el caso, si se presiona doble clic el control reconoce cada clic
por separado quedando en el mismo estado.
Puede crear un acceso directo si antepone el signo & a la letra en la propiedad Caption, así
al presionar la combinación Alt+Letra se llevará a cabo el evento clic.
Si no desea que la casilla muestre un texto en su propiedad Caption sino que muestre una
figura, puede utilizar la propiedad Picture y Style para asignar la imagen a el control.
Programa #6. Contrato:
Este programa tiene la finalidad de utilizar el control CheckBox, se debe crear un proyecto
nuevo y en el formulario colocar tres controles CheckBox, con los siguientes Captions:
1. &Entre 20 y 30 años
2. &Tiene experiencia en el área
3. &Bilingüe
Ahora, para continuar se colocará un botón de comando debajo de las casillas de
verificación, con Caption: &Contratar?.
Para finalizar se agrega debajo del botón de comando una etiqueta con las siguientes
propiedades:
• Caption: (Sin contenido)
• Font: Tamaño:12 – Negrita
• Autosize=True (verdadero)
• Alignment: 2 – center
Si se quiere puede cambiar el caption del formulario a Requisitos
A continuación se debe agregar el siguiente código en la pantalla del formulario:
Private Sub Command1_Click()
If Check1 = vbChecked And Check2 = 1 And Check3 = 1 Then
Label1.Caption = "Si contratar"
Else
Label1.Caption = "No contratar"
End If
End Sub
Al ejecutar el programa se verifica que si el aspirante cumple con los tres requisitos debe
ser contratado y no aquellos que sólo cumplen menos.
BOTONES DE OPCIÓN (OPTIONBUTTON):
Tienen la finalidad de presentar un conjunto de opciones al usuario con el propósito que
sólo pueda elegir una.
Los grupos de botones deben estar agrupados, para ello, deben estar colocado en el
mismo control o formulario, es decir, los botones de opción que se encuentran directamente
encima del formulario se agruparán y sólo se podría elegir una de ellas, aquellas que se
encuentran dentro de un marco (Frame) se separarán de las primeras y de éstas se podría escoger
otra opción, asimismo aquellas que están dentro de un PictureBox.
Si durante una prueba se observa que se pudo escoger más de una opción es porque el
botón de opción no quedó agrupado sino que quedó fuera del área del grupo y por lo tanto debe,
mediante el diseño, reubicarlo. Para asegurar que el control quede dentro del área del grupo se
debe:
• Dibujar el botón de opción en cualquier lugar.
• Corte el botón de opción.
• Seleccionar (mediante un clic) el control o el formulario donde se desea colocar.
• Pegar el botón de opción.
• Ubicarlo en la posición que se desea.
Se puede crear un acceso directo si antepone el signo & a la letra en la propiedad Caption,
así al presionar la combinación Alt+Letra se llevará a cabo el evento clic, es decir, la selección.
El programa que ejemplifica este control es el Programa #5.
CONTROL LISTBOX (CUADRO DE LISTA):
Los cuadros de lista es un control que tiene la finalidad de presentar una lista de elementos
al usuario de tal manera que éste escoja una o varias opciones, o puede también utilizarse para
enlistar elementos en tiempo de ejecución.
Los elementos pueden colocarse en la lista en tiempo de diseño o en tiempo de ejecución.
Para agregarlos en tiempo de diseño, se debe rellenar la propiedad List (en la ventana
Propiedades) con los elementos que se deseen, en este caso, cada vez que se coloque un
elemento se presiona la combinación de teclas Control+Enter para pasar a la siguiente línea, al
siguiente elemento.
Para agregarlos en tiempo de ejecución se utiliza la instrucción Additem, de la siguiente
manera:
Lista.Additem "Elemento" [, índice]
Donde Lista es el nombre de la lista, Elemento es una cadena de caracteres de texto o
número que se va a agregar a la lista y el índice es opcional y ofrece la opción de ubicar el
elemento en algún lugar especificado de la lista. La lista enumera los elementos desde el número 0
(primer elemento) hasta el último que tendría como valor de índice el número de elementos menos
uno. Si en la instrucción Additem no se incluye el índice, la lista colocará el elemento al final de la
lista, de manera que si se desea colocar primero se escribirá el siguiente código:
Lista.Additem Elemento, 0
Al colocar el elemento en esta posición, los otros elementos se reindexarán y pasarán a
ocupar una nueva posición, el primero pasa a ser el segundo (1), el segundo pasa a tercero (2) y
así sucesivamente. Si se agregan en una posición inválida que sobrepase la numeración de los
elementos se producirá un error.
Si desea agregar una lista de elementos a la lista de un formulario en tiempo de ejecución,
de tal manera que el usuario escoga una o varias, puede agregarlo mediante el método Additem en
el evento Load del formulario, es decir Private Sub Form_Load(), de manera que los
elementos aparecerán cargados en la lista a la hora de cargar el formulario.
Para eliminar un elemento de la lista en tiempo de ejecución se utiliza la instrucción
RemoveItem, de la siguiente manera:
Lista.RemoveItem índice
Sólo se pueden eliminar elementos mediante su número de índice, para obtener el número
de índice de un elemento seleccionado se utiliza la propiedad Lista.ListIndex, de tal manera que
para eliminar un elemento seleccionado se debe escribir:
If Lista.ListIndex>=0 Then
Lista.RemoveItem Lista.ListIndex
End if
Si no existe un elemento seleccionado la propiedad ListIndex toma el valor –1, por lo tanto
se le antecede la sentencia IF asegurando que haya seleccionado un elemento. Si no se coloca
esta sentencia y no hay elementos seleccionados en la lista el programa genera un error.
La instrucción para obtener el número de elementos de una lista es ListCount, de forma
que el índice del último elemento es ListCount – 1.
Otra propiedad que se utiliza con este control es List. Esta propiedad, guarda cada
elemento de la lista en una matriz, de modo que para obtener un elemento en particular utilice la
codificación:
Lista.List(índice)
Por ejemplo, la secuencia Lista.List(1) devuelve el segundo elemento mostrado en la lista.
La manera para quitar todos los elementos de una lista es el método Clear:
Lista.Clear
Programa #7. Coordenadas:
Este programa utiliza una lista para ordenar puntos de coordenadas X, Y. Grafica estos
puntos en un PictureBox.
Para este fin, se deben colocar una lista, dos etiquetas, dos cuadros de texto, un cuadro de
imagen y tres botones de comando.
A continuación, se muestran las propiedades Name que deben tener estos controles:
Control
Cuadro de texto 1
Cuadro de texto 2
Lista 1
Botón de Comando 1
Botón de Comando 2
Botón de Comando 3
Cuadro de Imagen 1
Name
txtX
txtY
lstPuntos
cmdIngresar
cmdEliminar
cmdBorrar
Monitor
Las propiedades Height y Width del Monitor son 2175 cada una.
Se deben ubicar los controles de tal manera que se observen de la siguiente manera:
Copie y pegue el siguiente código o escriba:
Option Explicit
Private Sub txtX_Change()
cmdIngresar.Enabled = (Len(txtX) > 0 And Len(txtY) > 0)
End Sub
Private Sub txtX_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
txtY.SetFocus
End If
End Sub
Private Sub txtY_Change()
cmdIngresar.Enabled = (Len(txtX) > 0 And Len(txtY) > 0)
End Sub
Private Sub txtY_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If cmdIngresar.Enabled = True Then
cmdIngresar.SetFocus
Else
txtX.SetFocus
End If
End If
End Sub
Private Sub cmdIngresar_Click()
Dim X As Integer, Y As Integer
X = CInt(txtX)
Y = CInt(txtY)
Monitor.Circle (X, Y), 30, vbRed
lstPuntos.AddItem "(" & X & "," & Y & ")"
txtX = ""
txtY = ""
txtX.SetFocus
End Sub
Private Sub cmdEliminar_Click()
If lstPuntos.ListIndex >= 0 Then
lstPuntos.RemoveItem lstPuntos.ListIndex
End If
End Sub
Private Sub cmdBorrar_Click()
lstPuntos.Clear
Monitor.Refresh
End Sub
Se puede interactuar un poco con el programa para relacionarse con los comandos y
funciones de cada botón de comando, lista y control PictureBox.
Es importante resaltar que, en este caso, aunque se elimine de la lista las coordenadas de
un punto, no se borra éste del cuadro de imagen. Esto se hace debido a que todavía no se tienen
las herramientas necesarias para generar dichos procedimientos, esto es sólo un ejemplo de cómo
se utiliza el control ListBox y por lo tanto se dejaron a un lado estas posibilidades.
Para obtener más detalles sobre este programa dirigirse a la Sección Detallada de
Programas al final de este tomo.
Puede ver también el ejemplo del control ComboBox para ver otra utilidad de los cuadros
de lista.
Guarde este programa ya que lo utilizará mas adelante cuando se introduzca en el tema
del trabajo con ficheros.
CONTROL COMBOBOX (CUADRO COMBINADO):
Este control combina las posibilidades de una lista con un cuadro de texto, de manera que
presenta la posibilidad de elegir de una lista un elemento de interés, pero además, puede obviar
cualquier opción y escribir sobre el control mediante la propiedad text. Por lo tanto, posee además
de las propiedades, métodos y eventos de la lista, también los de los cuadros de texto.
Programa #8. Número de Mes:
A continuación la elaboración de un programa para observar una de las utilidades del
control ComboBox:
Para ello se debe agregar al formulario:
• Una etiqueta de Caption: Mes Nro:
• A su lado un cuadro de texto de nombre Text1 (no cambiar)
• Un botón de comando de nombre Command1 (no cambiar) y Caption: Escribir Mes
• Un control ComboBox (Cuadro combinado) de nombre Combo1 (no cambiar).
Se debe agregar al formulario el siguiente código:
Private Sub Form_Load()
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
Combo1.AddItem
End Sub
"Enero"
"Febrero"
"Marzo"
"Abril"
"Mayo"
"Junio"
"Julio"
"Agosto"
"Septiembre"
"Octubre"
"Noviembre"
"Diciembre"
Private Sub Command1_Click()
Dim Mes As Byte
Select Case Combo1.Text
Case "Enero": Mes = 1
Case "Febrero": Mes = 2
Case "Marzo": Mes = 3
Case "Abril": Mes = 4
Case "Mayo": Mes = 5
Case "Junio": Mes = 6
Case "Julio": Mes = 7
Case "Agosto": Mes = 8
Case "Septiembre": Mes = 9
Case "Octubre": Mes = 10
Case "Noviembre": Mes = 11
Case "Diciembre": Mes = 12
Case Else
MsgBox "Error en el mes. Corrija para continuar"
End Select
Text1 = Mes
End Sub
Al ejecutar la aplicación, se debe seleccionar un mes y presionar el botón de comando, se
desplegará en el cuadro de texto en número de mes correspondiente. Para obtener los detalles de
la programación se puede dirigir a la Sección Detallada de Programas.
Es muy importante resaltar que los cuadros de lista y el cuadro combinado tienen funciones
similares, sin embargo pueden tener distintas funciones según el programa.
En el caso del ejemplo del cuadro de lista se utilizó para enlistar un conjunto de puntos que
se iban dibujando en el cuadro de imagen, además los elementos (puntos) se encerraban en
paréntesis y se separaban las variables por comas. En el caso del ejemplo del cuadro combinado
se utilizó para desplegar una lista en el cual el usuario podía elegir una opción; en este ejemplo
también se pudo utilizar un cuadro de lista sin embargo se quiso que ambos ejemplos sirvieran
para ambos casos de manera que el lector pueda asociar las distintas funciones que pueden tener
estos controles a la hora de programar.
CONTROLES HSCROLLBAR Y VSCROLLBAR: BARRAS DE DESPLAZAMIENTO.
Las barras de desplazamiento se utilizan en las aplicaciones para desplazarse horizontal o
verticalmente cuando halla una cantidad grande de información o cuando los controles toman gran
tamaño.
Estas tienen la misma finalidad de aquellas que aparecen en los cuadros de texto cuando
el contenido de su propiedad text sobrepasa el ancho y/o el alto del mismo o también las que
aparecen en un cuadro de lista o combinado cuando el número de elementos es mayor al tamaño
designado para la muestra de ellos. Esta tiene la finalidad de mostrar elementos también
contenidos en el control que no se pueden ver inmediatamente por el reducido tamaño del mismo.
Aunque tienen la misma finalidad este control no son iguales ya que las primeras aparecen por
defecto y en este caso se promueve mediante los métodos del control.
Programa #9. Mirar el contenido de una etiqueta:
El siguiente programa sugiere mediante la utilización de la barra de desplazamiento ver el
contenido de una etiqueta cuyo interior no se podía observar completamente por el reducido
tamaño de la etiqueta.
Para ello se deben colocar los controles de la izquierda con las propiedades de la derecha:
Control
Propiedades
•
Cuadro de texto (TextBox)
•
Cuadro de Imagen (PictureBox)
•
Botón de Comando (CommandButton)
•
Barra de desplazamiento
(HScrollBar)
Horizontal
• Etiqueta (Label)
Nota: la etiqueta estará insertada dentro del
control cuadro de imagen. Para ello córtela
de donde esté, seleccione el cuadro de
imagen con un clic y pegue la etiqueta.
Nombre: Text1 (no cambiar)
Height: 285
Width: 1575
Left: 0
Top: 0
Nombre: Picture1 (no cambiar)
BorderStyle: 1 – Fixed Single
Height: 495
Width: 1575
Left: 0
Top: 360
Nombre: Command1 (no cambiar)
Caption: Asignar
Height: 285
Width: 975
Left: 1680
Top: 0
Nombre: HScroll1 (no cambiar)
Height: 255
Width: 1575
Left: 0
Top: 960
Visible: False
Nombre: Label1 (no cambiar)
AutoSize: True (verdadero)
BorderStyle: 0 – None
Caption: (Borrar contenido)
Height: 195
Ahora, se procederá a colocar el siguiente código dentro la ventana de código del formulario:
Option Explicit
Private Sub Command1_Click()
Form1.ScaleMode = vbCharacters
Picture1.ScaleMode = vbCharacters
Label1.Move 0, 0
Label1.Caption = Text1
HScroll1.Max = Label1.Width - Picture1.Width + 1
HScroll1.Visible = (Picture1.Width < Label1.Width)
End Sub
Private Sub HScroll1_Change()
Label1.Left = -HScroll1.Value
End Sub
Ejecute el programa y coloque en el cuadro de texto una cadena de números o textos más
grande que el tamaño del cuadro de imagen, luego haga clic en el botón de comando, aparecerá la
barra de desplazamiento horizontal permitiendo desplazarse para ver el contenido completo de la
etiqueta. Si coloca un número de menos caracteres no aparecerá la barra.
Para obtener la explicación del programa detalladamente, se puede dirigir a la Sección
Detallada de Programas.
Puede utilizar la barra de desplazamiento también para observar completamente una
imagen contenida dentro de un control cuadro de imagen. Esto es muy útil ya que el cuadro de
imagen no muestra la imagen completa si su tamaño es menor. Se puede entonces colocar un
Picture2 dentro de un Picture1 y seguir la secuencia semejante a como se hizo con la etiqueta,
colocando además una barra de desplazamiento vertical.
Descargar