Curso sobre Visual Basic
por Jorge Serrano (Mundo Visual)

 

Tema Tres ( 9/Ago/97)

Baja el archivo en formato Word (tema3.zip 21.7 KB)


Salto de p�gina

 

En versiones anteriores de Visual Basic, la forma de realizar un salto de p�gina en un TextBox era cambiando la propiedad Multiline a True y escribiendo una constante string cualquiera con valor igual a Chr$(13) & Chr$(10), es decir salto de p�rrafo.

Con la versi�n Visual Basic 4.0, se usa una constante VbCrLf que realiza esta funci�n.

 

 

Message Box o MsgBox

 

Las cajas de mensajes o Message Box, tienen una funci�n clara, que es la de mostrar una determinada informaci�n, aviso, o pregunta para que el usuario tenga conocimiento de ella y act�e.

 

Hay diferentes formas de mostrar informaci�n :

1) El aviso es s�, que tiene por objetivo mostrar una informaci�n de inter�s.

2) El aviso con espera de respuesta, que muestra una informaci�n esperando que el usuario seleccione una de las respuestas posibles para que el programa la trate.

 

Una caja de mensaje, puede ser por ejemplo, la instrucci�n MsgBox "Hola" .

Por defecto, la caja de mensaje ser� similar a esta :

 

Debe darse cuenta de algunas cosas :

En primer lugar el mensaje, "Hola" que se escribe a continuaci�n de la palabra MsgBox, tambi�n debe darse cuenta del bot�n Aceptar que tiene el Focus de la ventana activa y que s�lo hay ese bot�n, y por �ltimo el t�tulo de la ventana.

 

Podemos modificar estos par�metros para alcanzar nuestros objetivos, por eso, vamos a escribir ahora este c�digo : MsgBox "Hola", ,"Ejemplo" .

El resultado es :

 

Como podemos apreciar en el c�digo, la caja de mensaje posee un t�tulo Ejemplo y el mensaje, pero es posible que deseemos escribir un mensaje en varias l�neas con salto de p�rrafo. Nada tan f�cil como este c�digo por ejemplo : MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", , "Ejemplo".

El resultado es :

 

 

Supongo que se habr� percatado de que entre el mensaje y el t�tulo de la ventana, hemos escrito dos comas, esto es porque entre las comas, debe ir un n�mero que representar� el icono a mostrar. Existen cuatro iconos diferentes adem�s de la posibilidad de no mostrar ninguno. Los iconos son :

 

Estos iconos corresponden a los siguientes mensajes :

Mensaje cr�tico.

Mensaje de pregunta.

Mensaje exclamativo.

Mensaje de informaci�n.

 

Para mostrar el icono en cuesti�n o para que Visual Basic lo entienda, es necesario escribir lo siguiente :

Mensaje cr�tico. VbCritical � 16

Mensaje de pregunta. VbQuestion � 32

Mensaje exclamativo. VbExcalamqtion � 48

Mensaje de informaci�n. VbInformation � 64

 

Note que es lo mismo insertar VbCritical o 16.

 

Vamos a ver un ejemplo a�adiendo un icono al �ltimo ejemplo :

MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion , "Ejemplo"

El resultado es :

 

Ahora bien, es posible que queramos mostrar alg�n otro bot�n que o bien no sea el de Aceptar o que adem�s del bot�n de Aceptar haya m�s botones. Para este prop�sito, tenemos los siguientes par�metros :

Aceptar vbOKOnly � 0

Aceptar y Cancelar vbOKCancel � 1

Anular, Reintentar, Ignorar vbAbortRetryIgnore � 2

S�, No y Cancelar vbYesNoCancel � 3

S� y No vbYesNo � 4

Reintentar y Cancelar vbRetryCancel � 5

Aplicaci�n modal vbApplicationModal � 0 (Es la caja de mensaje sin icono)

 

La forma de hacer esto es sumar al par�metro del icono que queremos mostrar el valor de los botones que deseamos que aparezcan.

As� por ejemplo :

MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo , "Ejemplo"

El resultado es :

 

A�n as�, es posible que deseemos que el Focus lo adquiera otro un bot�n determinado. Por ejemplo, en este caso el Focus lo tiene el bot�n S�, pero es posible que deseemos que lo tenga el bot�n No por ejemplo. Esto se consigue con los siguientes par�metros :

Primer bot�n predeterminado vbDefaultButton1 � 0

Segundo bot�n predeterminado vbDefaultButton2 � 256

Tercer bot�n predeterminado vbDefaultButton3 � 512

 

Por ejemplo : MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo + vbDefaultButton2, "Ejemplo"

El resultado es :

 

Si no se se�ala el bot�n predeterminado, Visual Basic seleccionar� el primer bot�n.

En caso de seleccionar como predeterminado un bot�n que no existe, (por ejemplo el tercero), Visual Basic seleccionar� el primero.

 

Ahora bien, si decidimos mostrar un mensaje esperando una respuesta, o queremos saber que bot�n ha pulsado el usuario, esto lo podemos conseguir mediante el siguiente c�digo de respuestas :

Aceptar vbOK � 1

Cancelar vbCancel � 2

Anular vbAbort � 3

Reintentar vbRetry � 4

Ignorar vbIgnore � 5

S� vbYes � 6

No vbNo � 7

 

As� por ejemplo, el siguiente c�digo :

Dim Resp As Integer

Resp = MsgBox("Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo + vbDefaultButton2, "Ejemplo")

If Resp = 6 Then

MsgBox "Ha pulsado SI"

Else

MsgBox "Ha pulsado NO"

End If

Tiene el resultado siguiente :

 

 

 

Si pulsamos el bot�n S� obtendremos una acci�n, y si pulsamos el otro bot�n otra acci�n.

 

Ahora bien, para elegir o seleccionar un evento o acci�n, el usuario debe saber combinar los c�digos, sabiendo que un MsgBox posee la siguiente sintaxis principal:

MsgBox Mensaje, Botones, T�tulo de la ventana

 

 

InputBox

 

El InputBox o caja de entrada es otra de las partes m�s utilizadas para la interacci�n del usuario con la aplicaci�n. Es importante que el usuario interact�e con la aplicaci�n para ser el protagonista de esta.

 

El InputBox nos permite sacar una caja donde el usuario pasar� un par�metro, valor o dato para que el programa lo trate y lo ejecute.

 

El mensaje que quiere que aparezca se realiza de forma casi id�ntica al MessageBox. Puede escribirse varias l�neas de texto seguidas por la constante de Visual Basic VbCrLf o salto de l�nea o p�rrafo.

 

La sentencia es : Val = InputBox (Mensaje, Titulo, ValorPredeterminado)

Val almacenar� el texto escrito por el usuario, que puede ser una cantida, cadena string, … etc.

 

Por ejemplo :

Dim Val As String

Val = InputBox("Deme su nombre", "Ejemplo")

MsgBox "Su nombre es: " & Val

Tiene como resultado :

 

 

Ahora bien, podemos determinar un texto predeterminado a la caja de entrada, como por ejemplo :

Dim Val As String

Val = InputBox("Deme su nombre", "Ejemplo", "Mundo Visual")

MsgBox "Su nombre es: " & Val

Obtendremos como resultado :

 

Es importante determinar que si el usuario elige el bot�n Cancelar, el programa devolver� una cadena de caracteres igual a 0, es decir, Val="".

 

La caja de entrada puede ser sin embargo m�s personalizada mediante dos par�metros como son la posici�n de la ventana de entrada de datos en la pantalla. Estos par�metros se ponen a continuaci�n del ValorPredeterminado.

Por ejemplo :

Dim Val As String

Val = InputBox("Deme su nombre", "Ejemplo", "Mundo Visual", 1200, 1400)

Situar� la ventana en el eje de las X a 1200 twips (posici�n horizontal) y la Y a 1400 twips (posici�n vertical).

 

 

Repaso : Hemos visto en este cap�tulo el uso de MsgBox, y InputBox, los cuales nos van a servir de gran utilidad en nuestros proyectos Visual Basic.


ir al índice