HOME || Programación || Comando MsgBox de Autohotkey
Creado el: 15 marzo, 2019 - Actualizado el: 2 abril, 2019 - Autor: lornal
AMP Versión AMP: Comando MsgBox de Autohotkey (Versión AMP)

Comando MsgBox de Autohotkey

Comando MsgBox de Autohotkey

El comando MsgBox de Autohotkey muestra una ventana con texto para informar, alertar o preguntar al usuario. El mismo puede contener uno o varios botones de acción.

Indice de contenido

MsgBox

Siempre que queramos informar, alertar o preguntar algo en nuestros script de Autohotkey podemos usar el comando MsgBox el cual muestra una ventana con el texto que queramos, pudiendo agregar uno o varios botones para que el usuario decida sobre la próxima acción a ejecutar o simplemente acepte el mensaje.

Dispone de mucha cantidad y combinaciones de botones y la posibilidad de personalizar la ventana en la cual se muestra el mensaje. Por ejemplo podemos cambiar el título, o agregar un ícono significativo del tipo de mensaje.

Vamos a ver la estructura, parámetros y valores de este comando que seguro utilizarás en tus script de Autohotkey.

Estructura

MsgBox,Texto a mostrar
MsgBox, Opciones, Título, Texto a mostrar, Timeout

Parámetros

Texto a mostrar

En la estructura podemos ver que éste comando puede utilizarse solo con el parámetro texto a mostrar aunque éste no es obligatorio. Si no especificamos ningún texto el script mostrará el texto Presione OK para continuar.

Si vamos a mostrar un texto muy largo podemos dividirlo en varias lineas para mejorar la lectura. Esto lo hacemos utilizando las llamadas secuencias de escape con el caracter especial ‘n

También es posible utilizar una sección de continuación lo que nos ayuda a nosotros como programadores a leer el código de una manera más fácil. Más adelante podemos ver en algunos ejemplos cómo se utiliza.

Opciones

En este parámetro podemos especificar el tipo de cuadro a mostrar y la combinación de botones que contendrá la ventana MsgBox. El valor por defecto es 0. Si se utiliza un valor diferente al permitido el script omitirá todos los parámetros escritos y unificará los mismos para mostrarse como valor de Texto a mostrar.

Para que quede más claro, vemos el siguiente ejemplo

MsgBox, valorNOadmitido, Este es el título, Este el texto a mostrar

nos dará como resultado

MsgBox con valor no admitido en parámetro Opciones
MsgBox con valor no admitido en parámetro Opciones
Título

Es el título de la ventana del MsgBox. Si se omite el script mostrará el nombre del archivo incluyendo la extensión.

Timeout

Es el tiempo en segundos que, una vez transcurrido, cierra el MsgBox automáticamente. Es un parámetro opcional y no puede superar los 2147483 (24,8 días). Si se establece un mayor valor éste quedará definido en 2147483 segundos.

Valores de los Parámetros del comando MsgBox

En las siguientes tablas se detallan los valores para cada grupo. Los valores de los grupos pueden combinarse para obtener MsgBox personalizados según se necesite interactuar con el usuario. Esta combinación se realiza sumando los valores de cada grupo. Por ejemplo si queremos usar el valor 5 del grupo 1 y el valor 16 del grupo 2 debemos sumar 5 + 16 = 21. Este resultado será el valor del parámetro.
De igual manera si se utilizan los valores hexadecimales se deberá sumar 0x1 + 0x1000 = 0x1001

Grupo 1: Botones del MsgBox

Los valores del grupo 1 no pueden combinarse entre sí. Sólo se podrá especificar 1 de los siguientes valores según se necesite.

FunciónValor decimalValor hexadecimal
OK00x0
Aceptar / Cancelar10x1
Anular / Reintentar / Omitir20x2
Sí / No / Cancelar30x3
Si / No40x4
Reintentar / Cancelar50x5
Cancelar / Reintentar / Continuar60x6
Grupo 2: Icono del MsgBox

Los valores del grupo 2 no pueden combinarse entre sí. Sólo se podrá especificar 1 de los siguientes valores según se necesite. Recordar que siempre es posible combinar con otros grupos sumando los valores.

FunciónValor decimalValor hexadecimal
Icono de error160x10
Icono de pregunta320x20
Icono de exclamación en alerta480x30
Icono de exclamación para avisos640x40
Grupo 3: Botón predeterminado del MsgBox

Agregando uno de los siguientes valores y si existe más de 1 botón en el MsgBox el script colocará el foco (seleccionará) automáticamente el botón elegido.

FunciónValor decimalValor hexadecimal
Selecciona el segundo botón2560x100
Selecciona el tercer botón5120x200
Selecciona el cuarto botón
(el botón Ayuda debe estar presente)
7680x300
Grupo 4: Modo del MsgBox

El modo en que se comporta la ventana del MsgBox se especifica mediante estos valores.

FunciónValor decimalValor hexadecimal
Modal (por encima de las demás ventanas)40960x1000
Tarea Modal
(se inicia encima y pasará a segundo plano
 si otra ventana lo tapa)
81920x2000
Siempre arriba
(igual que Modal pero sin ícono en la barra de título)
2621440x40000
Grupo 5: Otras opciones del MsgBox
FunciónValor decimalValor hexadecimal
Agrega botón de Ayuda163840x4000
Justifica el texto a la derecha5242880x80000
Orden de lectura de derecha a izquierda
(para hebreo / árabe)
10485760x100000

Observaciones detalladas del comando MsgBox

Caracteres de escape

En los MsgBox es necesario, cuando se quiere usar una , (coma) en el parámetro Texto a mostrar o Título, indicarle que lo estamos haciendo como una coma literal. Para esto se utilizan los caracteres de escape.
Autohotkey asegura que en versiones nuevas los comandos utilizan el sistema de comas inteligentes así que no sería necesario utilizar este “escape”. Es bueno saber este método para utilizar caracteres especiales dentro de nuestros Script si utilizamos versiones viejas.

Un ejemplo del uso de caracter de escape sería:

MsgBox, 0, Título del MsgBox, Podrás ver una coma`, si es que funciona éste método

Capturar botón presionado en MsgBox

Te estarás preguntando cómo podemos saber que botón presionó el usuario en el MsgBox.

Para ésto se utiliza la Función IfMsgBox de Autohotkey

Vemos un ejemplo para aclarar el uso de esta función:

MsgBox, 4,, Desea continuar?
IfMsgBox Yes
  MsgBox El usuario presionó SI.
else
  MsgBox El usuario presionó NO.

Copiar texto del MsgBox

Si presionamos Ctrl+c cuando una ventana de MsgBox está activa se copiará en el portapapeles de Windows el texto del parámetro Texto a mostrar.

Botón Cerrar en la barra de título del MsgBox

La acción del botón Cerrar en la barra de título del MsgBox depende del botón o botones presentes de acuerdo a los parámetros que hayamos utilizado en Opciones.
Por ejemplo, si sólo está presente el botón Aceptar al presionar el botón de cierre el MsgBox retornará Aceptar y si hay un botón Aceptar o Cancelar retornará Cancelar, independientemente de cual sea el botón predeterminado. Este botón se desactiva si no hay ningún botón Cancelar en nuestro MsgBox.

Resumen

Vimos el Comando MsgBox de Autohotkey

Utilizamos el comando MsgBox para informar o alertar al usuario del Script. Vimos sus parámetros y valores. Combinación de los grupos de valores para obtener cuadros de mensaje personalizados según lo que queramos informar o interactuar mediante el script de Autohotkey.

Te fue útil el artículo? Califícalo

Votos: - Promedio: