Curso sobre Visual Basic
por Jorge Serrano (Mundo Visual)

 

Tema Dos ( 9/Ago/97)

Baja el archivo en formato Word (tema2.zip 12.7 KB)


 

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:\Windows\System.

 

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.

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.

 

 

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

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.

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:\WINDOWS\Greca.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:\Windows\Greca.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 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.


ir al índice