Aprende A Programar Con VB 6.0
Aprende A Programar Con VB 6.0
Aprende A Programar Con VB 6.0
Rif: V-12789240-3
Partes de la Computadora.
En el formulario podemos ver la Label dibujada sobre el monitor, todavía opaca como viene
por defecto, luego sobre el gabinete está transparente pero con el Caption , también por
defecto en este caso : Label2. Y en el teclado donde está posicionado el cursor en cambio
está transparente. De acuerdo a la parte que seleccionemos: en una cuarta Label se nos
mostrará el texto correspondiente, en el caso del formulario : "Teclado".
En este ejercicio tenemos una Image, con su Propiedad Stretch a True, lo que nos permite
agrandar un icono al tamaño deseado. Y cuatro Labels, tres transparentes para subdividir la
Image y una opaca para mostrar la parte seleccionada, y un Botón de Salida.
End Sub
Label1.caption = "Monitor"
End Sub
End Sub
Label1.caption = "Teclado"
End Sub
Crucigrama.
Con este ejercicio queremos sugerir una ejemplo de crucigrama que cada uno podrá adaptar
a los contenidos requeridos. También a partir de aquí podríamos elaborar un Ahorcado.
El crucigrama está armado con cuadros de texto o sea controles Text, encerrados dentro de
un control frame, este control tiene la única finalidad de agrupar y contener otros controles,
ordenando la interactividad de una manera visual. Otros dos controles Frame agrupan las
opciones vertical y horizontal. Conteniendo controles CheckBox que al ser seleccionados
hacen la corrección de las letras ingresadas en las cajas de texto. El ingreso de las mismas
se hace en tiempo de ejecución a través del teclado.
A la derecha vemos unos controles Picture vacíos que se cargaran con imágenes que
muestren por ejemplo una cara sonriente si la palabra es correcta o seria si no lo es, o
cualquier otro tipo de imagen .Podemos llamar a esta imagen con la función LoadPicture
desde cualquier parte de nuestro disco rígido. Y un botón con el icono de Hijitus indica la
Salida y cierre del programa.
Acá tendremos que crear por código una estructura condicional que controle si la entrada
de datos es correcta o no.
El código es el siguiente:
End
End Sub
If Text1.Text = "L" And Text2.Text = "O" And Text3.Text= "R" And Text4.Text ="O" then ' este
código debe ir todo en un mismo reglón y 'chequea si se escribió una de las palabras
correctas. Ciudado con los 'nombres de los Controles porque seguramente Ustedes no
tendrán la 'misma numeración que yo. (Otra aclaración cuando usamos el carácter '
'indicamos que todo lo que sigue es un comentario, por lo tanto la 'computadora no lo
ejecuta lo saltea, no es código).
Else 'Sino
End Sub
Else 'Sino
End Sub
If Text7.Text = "R" And Text8.Text ="A" And Text9.Text ="T" And Text4.Text ="O" And
Text10.Text ="N" then
End Sub
Sumas.
Este ejercicio elige en forma Aleatoria dos números y los despliega en dos Labels para que
el alumno luego, introduzca el valor correcto de la suma de ambos en un TextBox . Si está
bien le aparecerá la carita sonriente y sino la de disgusto. Luego volverán a aparecer otros
dos números para que siga sumando.
La función Rnd nos permite cargar en una variable un número aleatorio que en este caso
definimos como entero Int (de Integer) y de 0 a 10.
Repetimos el procedimiento para Num2, el segundo sumando de nuestra cuenta. Para que
realmente sea aleatorio debemos incorporar la sentencia Randomize en el Procedimiento
Load del Formulario.
Otra función que utilizamos es Val que transforma una cadena de caracteres, en este caso el
contenido de un Text en un valor numérico.
En el caso de resolver bien la cuenta pasa a cargar otros dos números , iniciando una nueva
cuenta. Pero necesitamos una espera en la aplicación. Esto lo hacemos por código con un
bucle que asociado al reloj del sistema crea una pausa en la aplicación. Para esto creamos
un Procedimiento llamado Pausa. Posicionados en la ventana de código , vamos a Tools/
Herramientas, Add Procedure/ Agregar Procedimiento, y en la ventana que se nos abre
elegimos un Name para el mismo en este caso = Pausa y luego con los botones de opción
seleccionamos: Sub y Private. Damos el Aceptar y se cierra la ventana. Ahora veremos en
nuestra ventana de código un nuevo Procedimiento llamado Pausa. Incluido dentro de los
procedimientos del objeto General. Luego lo llamaremos desde otra parte del programa con
la sentencia Call. 5
Option Explicit
Dim comenzar
Dim controlar
comenzar = Timer
controlar = Timer
Loop
End Sub
Text1.Text = ""
Label1.Caption = num1
Label2.Caption = num2
Command2.Enabled = False
End Sub
6
Private Sub Command2_Click()
Command2.Enabled = False
resultado = Val(Text1.Text)
Image1.Picture = Picture1.Picture
Else
Image1.Picture = Picture2.Picture
End If
End Sub
Unload Me
End Sub
Randomize
Text1.Text = ""
Label2.Caption = num2
End Sub
En este formulario desplegamos datos en cajas de texto y a través del Boton Imprimir
vamos a darle salida a estos datos por la Impresora que el sistema tenga por defecto. Para
esto usamos el objeto Printer, que nos permite controlar el texto, cambiar su aspecto,
tamaño, tipo y color de la fuente y coordenadas. Private Sub Command1_Click()
Printer.Orientation = 1
Printer.FontSize = 12
'Tamaño de la letra
Printer.Print
Printer.Print
Printer.Print
'Aquí damos la orden de impresión del caption de la label1 a 15 espacios 'del margen
izquerdo y luego a 30 espacios del margen izquierdo el 'contenido del texto.
Printer.Print
Printer.Print
8
Printer.Print Tab(15); Label2.Caption; Tab(30); Text2.Text
Printer.Print
Printer.Print
Printer.Print
Printer.Print
Printer.Print
Printer.Print
Printer.Print
Printer.Print
Printer.Print
Printer.EndDoc
End Sub
Este ejercicio nos permite de una manera simple poder distribuir la impresión de forma
personalizada.
Internet
9
Este ejercicio nos permite mediante un evento click sobre un botón conectarnos con un
sitio web determinado, incorporando el control WebBrowser, este control no es estándar y
lo debemos traer de Componentes, Microsoft Internet Control.
WebBrowser1.Navigate "http://www.yahoo.com"
'WebBrowser1.GoHome
End Sub
La propiedad Navigate del control WebBrowser es el nos permite navegar hacia un sitio
web, estando conectados a nuestro servidor, obviamente, la otra propiedad alternativa
GoHome nos conecta con la página predeterminada de Inicio.
Este control nos resulta muy útil cuando queremos que los alumnos consulten
determinados sitios, antes visitados por nosotros, y así evitamos navegaciones inútiles o
peligrosas por sus contenidos.
Un Navegador.
Otro ejercicio usando el control WebBrowser, en este caso creamos un Navegador muy
simple. Con el control Toolbar asociado al ImageList creamos una barra de herramientas,
esto ya lo hemos visto en otros ejercicios. Por lo tanto nos centraremos en otras
propiedades del WebBrowser.
Una caja de texto contiene la URL o dirección del sitio a visitar. Y una barra de estado o
StatusBar dividida en tres paneles despliega: un mensaje, la hora y la fecha
respectivamente.
El código es el siguiente:
WebBrowser1.Navigate Text1.Text
WebBrowser1.Visible = True
End If
End If
End Sub
Command1_Click
End If
End Sub
WebBrowser1.GoBack 'Retrocede
Case "forward"
WebBrowser1.GoForward 'Adelanta
Case "home"
Text1.Text = "http://www.geocities.com/SiliconValley/Garage/6472"
Command1_Click
Case "refresh"
Case "stop"
End Select
11
End Sub
End Sub
StatusBar1.Panels(1).Text = "Listo"
End Sub
Dibujar
Con este ejercicio podrán los alumnos dibujar en tiempo de ejecución. Podemos agregarles
una paleta de colores similar al Paint.
En caso de imprimir el dibujo es necesario que la propiedad del Formulario Autoredraw esté
a True para que el formulario se refresque e imprima el dibujo realizado.
End Sub
If draw Then Line -(X, Y) ' si la variable draw esta a verdadera 'dibuja cada uno de los puntos.
End Sub
End Sub
La label Planetas nos muestra el formulario del ejercicio Nº7 con los distintos planetas y el
procedimiento Clic de cada label transparente nos vincula a una Base de Datos previamente
armada con el Data Jet, el motor para Base de Datos de Visual Basic 5 o con Access, donde
tendremos la información referente a cada planeta, en este caso: el nombre del planeta, su
distancia al sol en km. y la cantidad de satélites (El proyecto final está incompleto, Uds.
pueden completarlo como les resulte más conveniente).
Al hacer Clic sobre uno de los planetas se nos abre la siguiente pantalla:
El código que nos vincula a la base de datos convocada por un control Data que se
encuentra invisible en el formulario de Información es el siguiente:
Form2.Picture1.Picture = Form2.ImageList1.ListImages(2).Picture
Form2.Show
End Sub
Para desplegar la imagen del planeta usamos un control ImageList que tiene cargadas, en
este caso solo dos imágenes: la Tierra y Júpiter.
La posición del registro depende del orden que le dieron a los planetas en los registros de la
Base de datos.
Ustedes pueden agregar oros campos que desplieguen más información y labels indicativas
de dichos campos.
Y el código es:
contar = contar + 1
Label2.Caption = contar
End If
14
satelite = InputBox("¡Cuántos satélites tiene?", "Planetas")
contar = contar + 1
Label2.Caption = contar
Picture1.Enabled = False
End If
End Sub
También incluimos una variable contar para que nos sume puntos con las respuestas
correctas, y las variables planeta y satélite que guardan las respuestas del InputBox. Esta
variables deben ser declaradas en la parte general del formulario.
Para cerrar tenemos el formulario créditos donde se indica el nombre del programador y el
botón Salir que cierra la aplicación. La navegación entre un formulario y otro se realiza
mediante los métodos Show: Mostrar y Hide: Ocultar. Primero se muestra el formulario
vinculado y luego se oculta el que está activo. Ejemplo:
Form3.Show
Form5.Hide
End Sub
Combinando sonidos.
El siguiente ejercicio muestra como usar el control multimedia para desplegar sonidos de
tipo Midi o Wave e incluso poder superponer un sonido a otro:
Cuando se abre el formulario se ejecuta el archivo Midi y si nosotros hacemos Clic sobre el 15
botón Wave escuchamos los gritos de Tarzan por encima de la música de fondo que se
sigue ejecutando. Esto nos resulta útil para ciertas aplicaciones donde queremos dejar una
música de fondo, o entretenimientos que combinan sonidos.
MMControl2.Command = "Prev"
End Sub
MMControl1.Command = "Prev"
End Sub
Debemos traer de Componentes el control Multimedia y poner todos sus botones a falsos e
invisibles. Luego asociamos por código a cada control el archivo correspondiente, en este
caso uno para el archivo Midi y otro para el Wave. Determinamos que tipo de dispositivo es
y explicitamos su camino, lo abrimos y luego ejecutamos. No olvidarse el Open primero y
luego el Play.
End Sub
Vínculos.
Este ejercicio lo hemos armado a pedido de un visitante colombiano, Luis, docente en
16
Informática. Y nos permite vincular una palabra con una imagen específica dentro del
contenido desplegado en una Label.
Usamos como truco una label transparente superpuesta sobre la palabra que recibe el
evento click y que se vincula a la imagen. El programa en ejecución es similar a esta
imagen:
Sobre la palabra comida y animal tenemos superpuesta una label con la letra en azul para
que muestre la posible interactividad, también cambiamos el puntero del mouse a una
manito cuando pasa por sobre las palabras. Y al hacer click cambia el contenido de la Image
en su propiedad picture. El código del evento click de la primer label es:
Image1.Picture = Picture2.Picture
End Sub
Contraseña. Varios visitantes nos han pedido algún ejercicio que use una contraseña
para entrar a un programa. Aquí va un ejemplo. Vamos a usar la función InputBox que al
abrir una ventana con una caja de texto nos permite ingresar la contraseña.
Image1.Visible = True
Image1.Visible = True
Else
End If
Editor de menú.
En este ejercicio vamos a usar el Editor de menú de Visual Basic, que nos permite crear un
menú con las características de windows. Para poder activarlo debemos estar en la ventana
de formulario u objeto, no en la de código. Mediante botones de opción vamos a hacer
visibles o invisibles los menús que hemos diseñado, en este caso el tema será platos de
comida y los menús serán sobre: Platos fríos, calientes y postres. El programa ejecutado se
vé así:
18
Aquí hay dos propiedades muy importantes, el caption del menú que será el título que
aparezca en el menú y el name del menú, el caption puede estar vacío pero el name no, Y
vamos anidando los submenús que queremos incorporar, como lo muestra la imagen, para
desplegar un submenú hacemos click en next y en la flecha hacia la derecha para hacer una
sangría que indica los subtemas del menú. Cada integrante del menú responde a un solo
evento que es el Click. Para probarlo podemos agregar el siguiente código en el evento click
de cada menú:
MnuFiambres_Click()
End Sub.
Esto no está incluído en el ejercicio, pero puede agregarle cualqier evento para testear el
funcionamiento. En relación al código que hace visible u oculta un tipo de menú ,
agregamos un botón que aplica o ejecuta la opción de opción seleccionada con el siguiente
código en el evento click del botón Aplicar:
mnuEntradas.Visible = True
mnuCalientes.Visible = False
mnuPostres.Visible = False
mnuEntradas.Visible = False
Else
mnuEntradas.Visible = False
mnuCalientes.Visible = False
mnuPostres.Visible = True
19
End If
End Sub
este código relaciona mediante un condicional el menú que debe mostrarse y oculta los
restantes. En el procedimiento Load del formulario incluimos el siguiente código, que oculta
los menús:
mnuEntradas.Visible = False
mnuCalientes.Visible = False
mnuPostres.Visible = False
End Sub
Encuesta Graciosa.
El código es el siguiente:
End
End Sub
End Sub
End Sub
Con el Botón Si: salimos del programa y al querer hacer click en el botón: No, se mueve
aleatoriamente a una nueva posición entre las medidas de ancho y alto del formulario.
Temperaturas.
En este ejercicio, simplemente entramos en tiempo de ejecución una temperatura para cada
día de la semana y luego haciendo click en los botones: Alta, Media y Baja , devuelve los
valores en otras cajas de texto. El código es el siguiente:
Option Explicit
Private Sub Command1_Click() ' mostrar el valor más alto de los textbox() en el text Alta
alta = Text1(0).Text
For dia = 1 To 6
alta = Text1(dia).Text
End If 21
Next dia
Text2.Text = alta
End Sub
For dia = 1 To 6
baja = Text1(dia).Text
End If
Next dia
Text3.Text = baja
End Sub
Private Sub
total = 0
For dia = 0 To 6
Next dia
promedio = total / 7
End Sub
For dia = 0 To 6
22
Text1(dia).Text = ""
Next dia
Text1(0).SetFocus
End Sub
End
End Sub
Usando estructuras de repetición For Next, calculamos los valores de alta y baja, luego para
la media sacamos por división el promedio.
Texto y RTF.
En este Ejercicio vamos a ver como hacemos para directamente desplegar un texto ya
copiado y grabado en un archivo con extensión TXT, que podemos tipear en cualquier editor
como el NotePad, por ejemplo y otro texto con formato RTF (Rich Text File, o sea archivo de
texto enriquecido) . Este formato puede grabarse en el Word, vamos a grabar como... y allí
seleccionamos RTF.
Se llama texto enriquecido porque permite incluir distintos tipos de letras, colores y
tamaños o sea más variantes en su formato. Y el control que vamos a usar para desplegar
este texto con formato RTF es el RichTextBox 8es un control no estándar, por lo tanto
debemos traerlo de Componentes), para el texto común o sea con formato TXT, usaremos
un TextBox de la caja de herramientas estandar. El formulario tendrá el siguiente aspecto:
Tenemos dos controles para desplegar el texto: un Text1 y un RichTextBox1, y dos botones
en cuyos eventos Click se desplegarán por código los archivos mencionados en los
controles de texto. Primero debemos crear un archivo en el NotePad o en el Word y grabarlo
como TXT y otro con variaciónes en el tipo, color y tamaño de la letra y grabarlo como rtf.
Luego abrimos visual y en creamos un nuevo proyecto grabandolo en el mismo directorio y
carpeta que tenemos los archivos: txt y rtf. El código de cada botón es el siguiente:
23
Option Explicit 'Esta expresión nos fuerza a declarar las variables.
Dim renglon As String 'Esta variable guardará el tamaño de 'cada renglón del archivo
For Input As #1' Abre (Open) y da 'entrada (Input) el archivo 'ubicado en el mismo directorio
y carpeta en que está la 'aplicación. App.path significa en la ruta actual de la'aplicación.
'Sino hay que indicar cual es el Path.
While Not EOF(1) ' esto realiza un bucle o sea repite la acción 'hasta que se llegue al final del
archivo 1 (End of File)
Line Input #1, pepe$ ' le da entrada a la linea 1 del archivo Text1.Text = Text1.Text & pepe &
renglon 'concatena con & el 'texto del archivo y el tamaño del reglón.
Wend 'repite las ordenes en tanto la condición es verdadera, en 'este caso hasta tanto no
termine el texto del archivo.
End Sub
Rompecabezas.
En este ejercicio armaremos un rompecabezas con las partes del esqueleto de un gato.
Option Explicit 24
End
End Sub
Private Sub Command2_Click() 'este boton corrige si estan bien 'colocadas las imagenes.
Debe escribirse todo el código 'seguido o cortarlo usando el under _
Picture1.Visible = False
Picture2.Visible = False
Picture3.Visible = False
Picture4.Visible = False
Picture5.Visible = False
Picture6.Visible =
False Image2.Visible = True 'carga otra imagen oculta que 'muestra un gato completo
Else 'sino es correcto vacía las imagenes para reiniciar el 'armado del rompecabezas.
Picture1.Picture = Nothing
Picture2.Picture = Nothing
Picture3.Picture = Nothing
Picture4.Picture = Nothing
Picture5.Picture = Nothing
Picture6.Picture = Nothing
End If
End Sub
Private Sub Form_Activate()' al cargarse el form y pasar a estar 'activo carga las celdas o
partes en que dividimos la imagen con 'el PictureClip.
End Sub
Picture1.Picture = Source
End Sub
Picture2.Picture = Source
Picture3.Picture = Source
End Sub
Private Sub
Picture4.Picture = Source
End Sub
Picture5.Picture = Source
End Sub
Private Sub
Picture6.Picture = Source
End Sub
De acuerdo a su valor este determinará el color del fondo del formulario, y del tipo de un
terce control Text. La aplicación se así:
Option Explicit
HScroll1_Change()
Text1.Text = HScroll1.Value
Text3.BackColor = QBColor(HScroll1.Value)
End Sub
Private Sub
HScroll1_Scroll()
Text1.Text = HScroll1.Value
Text3.BackColor = QBColor(HScroll1.Value)
End Sub
Private Sub
HScroll2_Change()
Text2.Text = HScroll2.Value
Text3.ForeColor = QBColor(HScroll2.Value)
End Sub 27
Private Sub
HScroll2_Scroll()
Text2.Text = HScroll2.Value
Text3.ForeColor = QBColor(HScroll2.Value)
End Sub
Barra de Porcentaje.
Este ejercicio nos permite hacer una Barra de progreso al estilo windows, donde nos
muestra el porcentaje cubierto.El formulario tiene el siguiente aspecto:
Los controles que usamos son un Botón que activa el proceso y una picture que va
cambiando su color a medida que el porcentaje aumenta.El código es el siguiente:
actualizaprogress Picture1, i
Next i
End Sub
pb.Cls 28
pb.ScaleWidth = 100
pb.DrawMode = 10
pb.FontSize = 18
pb.CurrentX = 50 - pb.TextWidth(num$) / 2
End Sub
Dim controlar
Dim comenzar
comenzar = Timer
controlar = Timer
DoEvents
Loop
End Sub
Slider
29
Este es un control slider común donde codificamos los procedimientos Click y Change.
Usamos la función Format para darle forma al valor en centímetros. El código es el
siguiente:
Option Explicit
End Sub
End Sub
En este ejercicio vamos a ejecutar archivos MP3 usando el control Media Player. Que
debemos traer de componentes, y por supuesto tenerlo instalado en nuestro sistema a una
de sus últimas versiones.
Los controles que usamos son: un Media palyer, los tres controles tipicos para manipular
archivos : DriveListBox, el DirListBox y el FileListBox, dos botones y dos labels con un
timer que daran cuenta del tiempo total y parcial del archivo. El código es:
Option Explicit
Dim Min As Integer
Dim Sec As Integer
Dim Nombrearchivo As String
Dim Abrirarchivo As Boolean
With MediaPlayer1
If Not Abrirarchivo Then
.FileName = Nombrearchivo
.AutoStart = False
Command4.Caption = "Cerrar"
Else
.FileName = ""
Command4.Caption = "Abrir"
End If
End With
End Sub
Para que muestre solo los archivos MP3 en la propiedad Pattern del FileListBox: ingresamos
"*.MP3"
31
Clave de Seguridad
Hay muchas maneras de incluir en un ejercicio cierto control de seguridad a través de una
clave, o password, en esta aplicación se hace utilizando la propiedad tag del control Text,
donde se ingresa. El código es:
Private Sub cmdAceptar_Click()
Static Intentos As Integer
Dim Espera As Long
If UCase(txtPassword.Text) = txtPassword.Tag Then
CandadoCerrado.Picture = CandadoAbierto.Picture
Image1.Visible = False
Refresh
Espera = Timer
'Espera 2 seg, muestra el formulario principal
While Espera + 2 > Timer
Wend
Servicio
Este ejercicio utiliza Botones de Opción y fue realizado a partir del pedido de un alumno por
mail. También integra: labels, caja de textos, botones y calcula el total del valor del pedido
de acuerdo a la opción seleccionada y la cantidad. Su código es el siguiente: 'Declaración
de las variables para el precio de cada una.
Dim Hamburguesa As Single
Dim HotDog As Single
Dim Sandwich As Single
Dim Gaseosa As Single
Dim Refresco As Single
Dim PapasFritas As Single
'Declaración de variables para la cantidad de cada una.
Dim CantidadHamburguesa As Integer
Dim CantidadHotDog As Integer
Dim CantidadSandwich As Integer
Dim CantidadGaseosa As Integer
Dim CantidadRefresco As Integer
Dim CantidadPapasFritas As Integer
HotDog = 19.25
Sandwich = 17.5
PapasFritas = 4.5
Refresco = 4
Gaseosa = 5
End Sub
'Habilitar todas las cajas de texto para poder entrar datos en todas.
txtHamburguesa.Enabled = True
txtHotDog.Enabled = True
txtSandwich.Enabled = True
txtGaseosa.Enabled = True
txtRefresco.Enabled = True
txtPapasFritas.Enabled = True
If optPedido2.Value Then
'Inicializar las variables.
CantidadHotDog = 1
CantidadGaseosa = 1
CantidadPapasFritas = 1
CantidadHamburguesa = 0
CantidadSandwich = 0
CantidadRefresco = 0
If optPedido3.Value Then
'Inicializar las variables
CantidadSandwich = 1
CantidadGaseosa = 1
CantidadPapasFritas = 1
CantidadHamburguesa = 0
CantidadHotDog = 0
CantidadRefresco = 0
Else
MsgBox "Entre un valor positivo", vbCritical
txtHamburguesa.SetFocus
End If
Else
MsgBox "Entre un valor numérico", vbCritical
txtHamburguesa.SetFocus
End If
End Sub
Función Mod
39
Este ejercicio usa las funciónes Mod y Format que nos permiten dar formato al valor del
tiempo que muestra el cronómetro. Usamos una Label y tres botones para las acciones. El
código es: Dim I As Long 'Contador.
Dim Tiempo As String 'Tiempo total transcurrido.
Calendario.
Estos dos controles: el MonthView y el DTPicker son controles especiales que trae la
versión 6 y que podemos traer de Componentes, seleccionando Microsoft Windows
Common Controls - 2 6.0, y como vemos nos despliegan hora y fecha y un calendario que
podemos recorrer.
40
Validar un texto.
El control caja de Texto tiene ahora en esta versión 6 un nuevo procedimiento que nos
permite controlar la información que se ingresa, y una vez validada recién pasar al campo de
texto siguiente.
Prueben tratar de pasar a la caja de texto siguiente sin ingresar ningún dato con la tecla Tab
y verán que no lo permite.
El código es:
MsgBox "Debes tipear MIRTA en el primer texto para pasar al segundo.", vbInformation,
"Instrucciones"
Cancel = True
End If
End Sub
Cancel = True
End If
41
End Sub
Coolbar.
Este control pertenece al grupo Microsoft Windows Common Controls 3 6.0, y permite
desplegar una barra que contenga otros controles.
En este caso al hacer Click en el icono del Reloj despliega la hora. Estos controles que se
insertan dentro de la Coolbar pueden mantenerse flotantes o fijos.
El código es:
Label1.Caption = Time
End Sub
List1.AddItem "Chocolates"
List1.AddItem "Caramelos"
List1.AddItem "Chupetines"
List1.AddItem "Galletitas"
End Sub
En el caso de la Lista le agregamos distintos Items a través del Método AddItem en tiempo
de ejecución.
42
Barra de progreso.
Este ejercicio nos muestra el uso de una barra de progreso que podemos usar mientras se
realiza la carga de un archivo o en otro momento de espera hasta que se complete una
tarea.
El código es el siguiente:
Option Explicit
End
End Sub
Private Sub Form_Load() 'Inicializamos el timer para que este apagado Timer1.Enabled =
False
End Sub
Progreso.Value = 0
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer() 'Si el progreso todavía no termina, seguir aumentando Value
hasta 100
With Progreso
.Value = .Value + 1
Else 'Termino 43
End If
End With
End Sub
Aquí usamos with para referirnos al control y no tener que repetir su nombre. Esto es muy
útil cuando debemos modificar los valores de varias propiedades por código de un mismo
control.
Barra de estado.
StatusBar1.Panels("Texto").Text = txtPanel
End Sub
Como vemos es muy sencillo, para asignarle un valor al panel correspondiente debemos
identificarlo con el nombre del mismo, determinado en la ventana propiedades, para tener
acceso al mismo debemos hacer click con el boton derecho sobre el control y alli podemos
configurar los distintos paneles.
Pestañas.
44
Es común usar el control TabStrip para mostrar aplicaciones con pestañas, sin embargo es
mucho más potente el control Tabbed Dialog ya que cada panel puede contener otros
controles, esto facilita el diseño y su codificación.
Option Explicit
End Sub
Private Sub
Label1_Click()
Text1.Text = "Aqui podemos cargar un texto con formato richtextbox, sobre el Tema 1."
SSTab1.Tab = 1
End Sub
Picture1.Picture = Picture2
SSTab1.Tab = 2
End Sub
Text1.Text = "Aqui podemos cargar un texto con formato richtextbox, sobre el Tema 2."
SSTab1.Tab = 1
End Sub
Picture1.Picture = Picture3
SSTab1.Tab = 2 45
End Sub
Como vemos lo importante es la propiedad Tab y la asignación del indice del panel de l
control que queremos mencionar.
Promedio de Notas
Este ejercicio nos permite ingresar una cantidad de valores, por ejemplo las notas de un
alumno, y luego obtener su promedio. En el formulario usamos cuatro botones, dos cajas de
texto, y un ListBox, un frame y tres Labels. El código es el siguiente: Option Explicit
Dim Nota() As Single
Dim N As Integer 'Número total de notas.
If N > 1 Then ReDim Preserve Nota(1 To N) 'Reajustando la dimensión del arreglo notas 46
Text2.Text = ""
End If
End Sub
End Sub
48