miércoles, 27 de abril de 2011

MsgBox (3er Año. Visual Basic Avanzado)

Sintaxis de la instrucción Cuadros de mensajes (MsgBox)

Copia en tu cuaderno este Contenido (Revisión Lunes 2 de Mayo)
Si no deseamos saber que botón ha pulsado el usuario de la aplicación
MsgBox Mensaje , Botones + iconos, Título
Las partes entre corchetes indican parámetros opcionales.

Si deseamos conocer que botón a pulsado y actuar en consecuencias

Debemos almacenar en una variable el valor que se genera al pulsar dicho botón, entonces deberemos modificar la sintaxis de esta forma:

Variable = MsgBox Mensaje , Botones + iconos, TítuloEl valor del botón presionado se almacena en la variable. Observe que hemos añadido unos paréntesis que engloban a todas las opciones del MsgBox.


Explicación de las Partes del MsgBox

·    Variable: esta será la variable en la que se almacenará el valor del botón pulsado en el mensaje. Esta variable debe ser de tipo Integer.

·    Mensaje:  debe ir entre comillas dobles. Ej:   “Mensaje”.    Es la única opción obligatoria del Msgbox.

·    Título: Te permite colocar un Título que identifique al mensaje.

·    Botones: Especifica la combinación de botones que deseamos que aparezcan en el mensaje:


Botones  a Mostrar
Constante
Aceptar
vbOkOnly
Aceptar y cancelar
vbOkCancel
Anular, Reintentar e Ignorar
vbAbortRetryIgnore
Sí, No y Cancelar
vbYesNoCancel
Sí y No
vbYesNo
Reintentar y Cancelar
vbRetryCancel










Si hay varios botones, se puede señalar cuál de ellos aparece seleccionado por defecto.


Botón seleccionado por defecto
Constante
Primero
    vbDefaultButton1
Segundo
    vbDefaultButton2
Tercero
    vbDefaultButton3
Cuarto
    vbDefaultButton4


·    Iconos: Indican el tipo de mensaje que está siendo desplegado. Existen cuatro tipos de íconos en los mensajes: error, interrogación, información y advertencia.

- Error (vbCritical). Muestra un ícono en forma de X blanca sobre un círculo rojo, se usa cuando se quiere indicar al usuario que ha ocurrido un error. Ejemplo:

MsgBox "No se pueden almacenar los datos", vbCritical + vbRetryCancel, "Error"
 

- Pregunta (vbQuestion). Muestra un ícono en forma de signo de interrogación, se usa cuando se realiza una pregunta al usuario. Ejemplo:

MsgBox "¿Desea salir?", vbQuestion + vbYesNo, "Salir"
 

- Advertencia (vbExclamation). Muestra un ícono en forma de signo de exclamación, se usa cuando se informa al usuario que existe una situación inusual.  Ejemplo:

MsgBox "¡Este usuario ya existe!", vbExclamation + vbOKOnly, "Guardar"


- Información (vbInformation). Muestra un ícono que muestra una i, se usa cuando se proporciona al usuario información. Ejemplo:

MsgBox "Bienvenido al Sistema", vbInformation + vbOKOnly, "Inicio"


Ejemplos

MsgBox “Estos son los datos”, vbInformation+ vbOkOnly, “Información”
‘Mensaje de información donde aparece el botón aceptar.

MsgBox “¿Desea Salir?”, vbquestion + vbYesNo + 256, “Pregunta”
‘El valor 256 indica al programa que debe aparecer activada el botón 2, que en este caso sería No.

Te invitamos a que compartas más ejemplos creados por ti, a través de comentarios en esta entrada.

6 comentarios:

  1. A = Msgbox ("¿Estás seguro que desea limpiar?" ,vbquestion + vbyesno, "Limpiar)

    If A = vbyes then
    Text1.text = ""
    text2.text = ""
    end if

    Oh, y una pregunta...:
    ¿Para qué sirve los botones por defecto?

    ResponderEliminar
  2. ¡Excelente ejemplo Barbarán! Los botones por defecto sirven para indicar cuál de los botones quieres que aparezca como preseleccionado al aparecer el mensaje. En tu ejemplo, el msgbox mostrará dos botones (Sí y No), por defecto sale seleccionado el primer botón, pero si quieres que aparezca preseleccionado el botón No, debes escribir en la sección de botones e íconos: vbquestion + vbyesno + vbDefaultButton2

    ResponderEliminar
  3. En cuanto a tu ejemplo, debes corregir que el título debe aparecer entre comillas dobles antes de cerrar con el paréntesis.
    Debe ir:
    A = Msgbox ("¿Estás seguro que desea limpiar?" ,vbquestion + vbyesno, "Limpiar")

    En lugar de "Limpiar)

    ResponderEliminar
  4. Fernando Antonioli

    x = msgbox("¿Estás seguro que desea salir?", vbquestion + vbyesno, "limpiar")

    if x = vbyes then
    end
    end if

    ResponderEliminar
  5. coye barbaran... Todos sabemos que tu sabes, y por andar fanfarroneando quedas mal, hay que ser mas humilde

    ResponderEliminar
  6. muy buena guia, y gracias a barbaran y Fernando por el ejemplo!


    Ricardo Duque 9no grado

    ResponderEliminar