1. Mundo Visual : Visual Basic http ://www.redestb.es/personal/jorgeser
9/01/2013 e-mail : jorgeser@redestb.es
Controles Ocx o ActiveX de Visual Basic
Los controles personalizados o controles ActiveX también denominados Ocx, son unas librerías
especiales desarrolladas para facilitarnos "algunas" líneas de código que por su extensión o complejidad,
hemos desarrollado con otro lenguaje o con el mismo Visual Basic (Visual Basic 5.0 CCE).
En Visual Basic 3.0 o anteriores, el único control que podía ser utilizado, era el control Vbx. Este tipo
de controles son de 16 bits.
Con la llegada de Visual Basic 4.0 y de los 32 bits, los controles a usar en este lenguaje de programación
son los controles Ocx de 32 bits.
Estos controles pueden ser desarrollados con otros lenguajes de programación o con el reciente
programa de Microsoft Visual Basic 5.0 CCE.
Entre algunos lenguajes capaces de desarrollar controles Ocx, nos encontramos con Visual C++ 4.0 o
superior, Borland C++ 5.0, y Delphi. Es muy posible que me deje a algún lenguaje por ahí, pero estos
son los más utilizados.
Podemos encontrar controles Ocx en el mundo de muy diversos tipos.
Los controles Freeware o gratuitos, los shareware o de prueba antes de pagar, los cardware … etc.
Estos controles pueden ser encontrados además en BBS o en la distribución de nuestra aplicación.
Si nuestra aplicación utiliza controles personalizados, estos deben distribuirse junto a nuestra aplicación,
por tanto, a la hora de instalarla, se encontrarán en nuestro disco duro.
Los controles Ocx son los objetos que en nuestro formulario colocaremos. Por ejemplo, un botón, una
caja de texto, una barra de estado, … etc.
Para insertar un nuevo control en la caja de herramientas (que ya vimos en el tema 1), deberemos
seleccionar el menú : Herramientas -> Controles personalizados o pulsar la tecla Ctrl+T.
Se nos presentará una ventana donde podremos seleccionar los controles que deseemos añadir o eliminar
de nuestra caja de herramientas. Los controles están situados generalmente (y es bueno que así sea) en el
directorio System de Windows, por ejemplo en : C:WindowsSystem.
Es posible que a la hora de añadir un determinado control Ocx en nuestra caja de herramientas, este no
sea aceptado produciéndose un error. Esta es una de las cualidades de los controles Ocx. Deben ser
registrados. Algunos se registran directamente sin que nosotros lo percibamos, sin embargo, hay
controles que debemos registrarlos nosotros mismos para poder utilizarlos. Este registro se produce
ejecutando el programa "Regvsr32.exe". La sentencia correcta es "Regsvr32 nombre.ocx". Si todo ha ido
perfectamente, un mensaje aparecerá en una pequeña ventana informándonos de la correcta instalación
del control en la página de registros de Windows. Ahora deberemos volver a repetir los pasos a seguir
para añadir el control Ocx en nuestra caja de herramientas como hemos visto con anterioridad.
El control quedará añadido ahora en nuestra caja de herramientas.
Controles Label, TextBox, CommandButton, PictureBox profesionales de
Visual Basic 4.0
Ahora veremos los controles más utilizados que vienen con el programa Visual Basic 4.0 Profesional y
como usarlos.
Label :
Este control es uno de los más utilizados en los proyectos Visual Basic. Apenas hay algún proyecto que
no utilice alguna etiqueta o label.
Su uso reside en la aclaración o explicación de algunas partes de la ventana de nuestro proyecto.
Sus propiedades más importantes son :
Alignment es usada para alinear el texto de la etiqueta a la izquierda, derecha o centrado.
Appearance utilizado para dar un efecto 3D o no a la etiqueta. Si elegimos el valor 1, le damos este
efecto 3D, si le damos el valor 0, queda sin efecto 3D. Por defecto tiene el valor 1.
Backcolor selecciona el color de fondo de la etiqueta.
BackStyle tiene dos posibles valores. 0 - Transparent y 1 - Opaque. Si elegimos 0, el fondo de color de la
etiqueta será ignorado, si elegimos 1, adoptará el color que nosotros habíamos seleccionado.
BorderStyle es utilizado para asignarle un borde de la etiqueta. Si la propiedad Appearance está con
valor 1, la etiqueta adopta una forma en relieve muy vistosa.
Curso de Visual Basic desarrollado por Jorge Serrano Pérez Tema 2 ; 1 de 6
Fidonet : 2:341/64.16
2. Mundo Visual : Visual Basic http ://www.redestb.es/personal/jorgeser
9/01/2013 e-mail : jorgeser@redestb.es
Caption es el contenido de la etiqueta.
DataField y DataSource son utilizados con Bases de Datos.
Enabled es la propiedad que hace que el control esté habilitado o desabilitado. El valor True de este
control, confirma el funcionamiento normal del control, mientras que el valor False deja el control
desabilitado. Cuando un control está desabilitado adquiere un tono gris claro.
Font es usado para seleccionar el tamaño, propiedad y fuente del texto.
Forecolor es la propiedad del color de la fuente.
Height, Left, Top, y Width son utilizadas de la misma manera que para el formulario como ya hemos
visto anteriormente.
MouseIcon y MousePointer son usadas para cambiar el puntero del ratón en tiempo de ejecución. Si
cambiamos la propiedad MousePointer a otro valor, al acercar el ratón sobre la etiqueta el puntero del
ratón cambiará.
Name es el nombre de la etiqueta. A veces queremos cambiar algún contenido o propiedad de este
control u objeto, con lo que llamarlo de una determinada forma es importante para hacer referencia
sobre él sin equivocarnos.
Visible esta propiedad es utilizada para hacer visible o no la etiqueta o label. En tiempo de diseño todas
los controles u objetos serán visibles, siendo efectivas estas propiedad en tiempo de ejecución.
Nota : Debido a la similitud de muchas de las propiedades de los diferentes controles, desde ahora sólo
haré hincapié en aquellas propiedades que sean diferentes a las ya vistas.
TextBox :
La caja de texto o TextBox, es junto al control Label o etiqueta uno de los controles que más podemos
ver y utilizar en nuestros proyectos.
Se suele utilizar para que el usuario introduzca algún texto para que el programa lo trate y de una
respuesta.
Locked es la posibilidad que tiene un TextBox de ser de sólo lectura o de lectura y escritura. Esto es
utilizado para mostrar un texto que no deseamos que sea manipulado por el usuario. Para que sea de sólo
lectura, debe tener la propiedad True.
MaxLength es la propiedad que nos permite seleccionar un tope de caracteres insertados en el TextBox,
como por ejemplo 20 para el nombre de una persona. Si la dejamos a 0, el texto admitirá tantos
caracteres como admita el control hasta que este se llene.
Multiline nos permite escribir en el TextBox una línea de texto una debajo de otra si la propiedad de este
control está a True y una línea seguida si está a False.
PasswordChar nos permite escribir el texto encriptado con el carácter que nosotros le pongamos. Por
ejemplo, si ponemos * (asterisco), cada letra que escribamos en el TextBox será vista como *
(asteriscos). Esto es muy usado en password o palabras clave o secretas.
ScrollBars nos permite tener una barra de scroll para bajar, subir, adelantar o atrasar el texto que
escribimos o que está escrito. Este control tiene 4 posibilidades. Sin scroll, con scroll horizontal, con
scroll vertical, y con scroll horizontal y vertical.
CommandButton :
Default nos permitirá dejar el botón por defecto como accesible, de modo que al abrir una ventana que
tiene un botón y al pulsar enter, se accionará el botón que esté por defecto o default.
Picture :
Align posee la característica y posibilidad de alinear una Picture a la parte superior del formulario, a la
inferior o ajustar la picture al formulario.
AutoRedraw permite redibujar o refrescar el Picture. Esto es efectivo si se realizan modificaciones en la
Picture y se desean visualizar.
Curso de Visual Basic desarrollado por Jorge Serrano Pérez Tema 2 ; 2 de 6
Fidonet : 2:341/64.16
3. Mundo Visual : Visual Basic http ://www.redestb.es/personal/jorgeser
9/01/2013 e-mail : jorgeser@redestb.es
Aún así, todo esto que hemos visto es muy teórico, por lo tanto vamos a ver el resto de controles (que
poseen características muy similares o iguales a los ya vistos) practicando y aprendiendo que es la mejor
forma de comprender todo. Aunque hemos visto estos 4 controles, el resto de controles no los veremos
tan profundamente, con lo que a partir de ahora, prácticamente todo se basará en la práctica.
Uso de Label, TextBox, CommandButton y PictureBox
· Ejemplo 1; iniciación :
Para iniciarnos en el uso de los diferentes controles de Visual Basic 4.0, vamos a desarrollar un ejemplo
que nos hará comprender el uso de los controles que hemos visto teóricamente, para más tarde irlo
complicando a medida que avanzamos, con otros controles.
Abra un nuevo proyecto e inserte y escriba estas propiedades y controles:
Formulario;
Caption = Ejemplo 1
BorderStyle = 3
Height = 2100
Width = 2400
Dos TextBox con las propiedades;
Text1
Text = "" (nada)
Top = 100
Left = 100
Width = 2100
Height = 300
MaxLength = 20
Text2
Text = "" (nada)
Top = 600
Left = 100
PasswordChar = *
Width = 2100
Height = 300
Locked = True
MaxLength = 20
Un ButtonClick;
Caption = Aceptar
Height = 400
Width = 1200
Top = 1100
Left = 540
Enabled = False
Hacer doble click sobre el Text1 y escribir;
Private Sub Text1_Change()
If Text1.Text = "" Then
Command1.Enabled = False
Else
Command1.Enabled = True
End If
Text2.Text = Text1.Text
End Sub
Hacer doble click sobre el ButtonClick (botón) y escribir;
Private Sub Command1_Click()
MsgBox "Texto 1: " & Text1.Text & " y texto 2 " & Text2.Text
Unload Form1
Curso de Visual Basic desarrollado por Jorge Serrano Pérez Tema 2 ; 3 de 6
Fidonet : 2:341/64.16
4. Mundo Visual : Visual Basic http ://www.redestb.es/personal/jorgeser
9/01/2013 e-mail : jorgeser@redestb.es
End Sub
Este es un ejemplo de iniciación al Visual Basic y la utilización del control "Caja de texto" y del
"Botón". Conforme vayamos avanzando en el curso, este tratará ejemplos sin tanto texto. Este primer
ejemplo ha sido bastante descriptivo debido a que el lector debe ir cogiendo soltura de las propiedades y
eventos de los diferentes controles.
Repaso de lo visto hasta ahora : Hemos visto los controles más habituales usados en Visual Basic. Hay
muchos más controles que iremos profundizando según avancemos en el curso, pero de momento no
quiero liar a nadie, y por tanto, el resto de controles los veremos con ejemplos prácticos.
Así mismo, hemos visto un ejemplo de iniciación del Visual Basic en el que se podía usar dos de los
controles que hemos visto, el TextBox y el CommandButton. Hemos tratado de ver todas sus
características, aunque no hemos podido ver todas las importantes como la Multiline o la ScrollBar.
A partir de ahora, los ejemplos que hagamos serán menos largos de explicación que el que hemos visto,
por tanto, animo a todo aquel que se decida y no tenga miedo a errar, que pruebe a modificar valores o
atributos del ejemplo que hemos realizado, a buen seguro que merecerá la pena.
· Ejemplo 2 de Label, TextBox, CommandButton y PictureBox :
Abra un nuevo proyecto y pegue una Picture Box, un TextBox, una Label por encima del TextBox y dos
Botones (CommandButton).
En la propiedad Caption del formulario debe escribir Ejemplo 2.
En la propiedad Caption de la etiqueta escriba : "Nombre :"
La propiedad Text de la caja de texto déjela en blanco, y escriba en MaxLenght 10.
La PictureBox sitúela por debajo de la caja de texto y de un tamaño aproximadamente del doble de la
caja de texto.
Los dos botones alinéelos uno al lado del otro y por debajo de la Picture.
Para el primer botón, escriba en la Caption "&Aceptar" y "&Salir" para el otro botón.
Ponga la propiedad Default del primer botón a True.
Haga doble click sobre el primer botón y escriba :
Private Sub Command1_Click()
Picture1.Cls
Picture1.Print Text1.Text
End Sub
Haga doble click sobre el segundo botón y escriba :
Private Sub Command2_Click()
Unload Form1
End Sub
Corra la aplicación en modo de diseño pulsando la tecla F5 y pulse el botón Aceptar. El texto de la caja
de texto será "imprimido" en la PictureBox.
Haga lo mismo pero añadiendo el carácter ' delante de la línea Picture1.Cls, notará que la línea ha
cambiado de color. El carácter ' indica que lo que hay en esa línea es un comentario. Es decir,
Picture1.Cls lo hemos dejado como comentario, con lo que Visual Basic no lo ejecutará. No se asuste,
esto es para demostrar otra propiedad del PictureBox. Pulse nuevamente F5 y haga lo mismo. Pulse el
botón Aceptar tantas veces como quiera.
En el primer ejemplo hemos observado que el texto imprimido en la PictureBox ha sido eliminado o
borrado y puesto el nuevo. Esto se consigue con el parámetro Cls.
En el segundo ejemplo, los caracteres no son borrados, sino que se van añadiendo al PictureBox.
Si desea ver otra fuente de letra o color de letra en un PictureBox, deberá modificar las propiedades
ForeColor y Font.
· Ejemplo 3 de Multiline con un TextBox :
Abra un nuevo proyecto y pegue un TextBox y un Botón (CommandButton).
En la propiedad Caption del formulario debe escribir Ejemplo 3.
El botón tendrá la misma propiedad que el botón 2 del ejemplo 2 (el de Salir).
El TextBox tiene las siguientes propiedades ;
Multiline = True.
Text = "" (nada).
ScrollBars = Vertical.
Curso de Visual Basic desarrollado por Jorge Serrano Pérez Tema 2 ; 4 de 6
Fidonet : 2:341/64.16
5. Mundo Visual : Visual Basic http ://www.redestb.es/personal/jorgeser
9/01/2013 e-mail : jorgeser@redestb.es
Escriba tanto texto como quiera. Observará que al llegar al final de la línea, continúa saltando a la
siguiente.
Pulse el botón para finalizar.
Haga lo mismo pero con la propiedad Multiline a False.
Notará que pese a tener la propiedad ScrollBars como Vertical, el control TextBox se comporta como si
tuviese la propiedad 0 - None (ninguna).
Ahora bien, supongamos que deseamos que nuestra aplicación muestre un texto escrito por nosotros. A
lo mejor nos interesa mostrar varios saltos de línea entre párrafo y párrafo.
En Visual Basic 3.0 y anteriores, se utilizaba una constante global, que en mi caso por ejemplo, la
declaraba en un módulo (aunque el tema de las constantes lo veremos más adelante, esto valdrá como
anticipo). Inserte un módulo al proyecto y escriba Global NL.
Esto produce un salto de línea. Así por ejemplo, si utilizamos por ejemplo en el evento Load de Form1:
NL = Chr$(13) & Chr$(10)
Text1.Text = "Ejemplo con Visual Basic" & NL & "Segunda línea.", obtendremos un resultado como :
Ejemplo con Visual Basic
Segunda línea.
Recuerde que la propiedad Multiline del TextBox debe estar a True para que esto tenga efecto.
En Visual Basic 4.0 esto cambia, ya que Microsoft introduce una constante que nos permite no tener que
declarar esta variable. La constante se llama vbCrLf. Por tanto, no es necesario hacer ninguna referencia
a ninguna constante en el módulo. Tan sólo con utilizar esta constante es suficiente. Así, en el ejemplo
último, en el evento Load del Form1 podemos escribir : Text1.Text = "Ejemplo con Visual Basic" &
vbCrLf & "Segunda línea."
· Ejemplo 4 Uso de MsgBox :
Abra un nuevo proyecto y pegue un TextBox y un Botón (CommandButton).
En la propiedad Caption del formulario debe escribir Ejemplo 4.
El botón tendrá la misma propiedad que el botón 2 del ejemplo 2 (el de Salir).
La propiedad Visible del Botón, póngala a False.
Aunque el uso de MsgBox no pertenece al apartado de estos controles propiamente, iremos ampliando
conocimientos poco a poco, y por eso, será bueno entender lo que es para completarlo en otro capítulo.
Escriba en el evento Load de Form1: Text1.Text = "Ejemplo con Visual Basic" & vbCrLf & "Segunda
línea.".
Haga doble click en el botón y escriba para el evento Click del botón el siguiente código:
MsgBox "Usted ha escrito: " & vbCrLf & Text1.Text
Unload Form1
Pulsamos F5 para ejecutar la aplicación. El TextBox no estará visible.
Pulsamos sobre el botón y veremos que se nos presenta un mensaje en pantalla que nos muestra lo que
usted ha escrito en el TextBox.
· Ejemplo 5 usar el PictureBox :
Abra un nuevo proyecto y pegue un PictureBox y dos Botones (CommandButton).
En la propiedad Caption del formulario debe escribir Ejemplo 5.
Uno de los botones seguirá siendo el mismo que el de los ejemplos anteriores (sin el MsgBox).
El otro botón permite pegar una imagen en la PictureBox. Por ejemplo, la propiedad Caption de este
botón póngala como "Pegar". Haga doble click sobre él y escriba en el evento Click:
Picture1.Picture = LoadPicture("C:WINDOWSGreca.bmp")
(o cualquier otra imagen siempre y cuando exista).
Esto nos permite visualizar imágenes Bmp, Ico y Wmf en el PictureBox en modo de ejecución.
Ampliaremos ahora un poco nuestros conocimientos con una parte muy importante en Visual Basic
como es el tratamiento de errores.
Escriba el siguiente código :
Private Sub Command2_Click()
On Error GoTo fallo:
Picture1.Picture = LoadPicture("C:WindowsGreca.bmf")
Exit Sub
fallo:
MsgBox "Error, fichero no encontrado."
End Sub
Debe apreciar que el programa intentará ejecutar la primera línea. En caso de error, se irá a la etiqueta
llamada fallo y tratará el error. Puede haber muchas causas de errores que veremos en próximos
Curso de Visual Basic desarrollado por Jorge Serrano Pérez Tema 2 ; 5 de 6
Fidonet : 2:341/64.16
6. Mundo Visual : Visual Basic http ://www.redestb.es/personal/jorgeser
9/01/2013 e-mail : jorgeser@redestb.es
capítulos, pero de momento forzaremos un error y lo trataremos. A veces es importante forzar errores en
los programas para controlar una determinada acción.
Por tanto, el programa ejecutará línea a línea. Si no encuentra errores, al llegar a la línea Exit Sub el
evento del programa llamado acabará. En caso de encontrar un error de ejecución irá a la etiqueta fallo
donde tratará el error hasta encontrarse con End Sub.
Repaso de lo visto hasta ahora : Además de haber visto el uso de los controles Label, TextBox,
CommandButton y PictureBox, nos hemos iniciado con el uso de salto de carro vbCrLf, el uso de
MsgBox y el tratamiento de errores.
En los temas siguientes profundizaremos en estos apartados antes de continuar con el resto de controles.
Curso de Visual Basic desarrollado por Jorge Serrano Pérez Tema 2 ; 6 de 6
Fidonet : 2:341/64.16