Tecnología

Inicio

Cómo cerrar automáticamente un cuadro de mensaje en VB6

Cómo cerrar automáticamente un cuadro de mensaje en VB6


Los cuadros de mensaje se utilizan sobre todo en los programas de Visual Basic 6 para indicar al usuario que algo requiere su atención. Un cuadro de mensaje podría mostrar un mensaje de error o se podría preguntar al usuario una pregunta, proporcionando una y un botón de "Sí" "No" en el formulario. El cuadro de mensaje también podría estar informando al usuario de que algo está a punto de suceder en el programa, que pregunta si desea continuar. Se podría beneficiar al usuario salir de ese mensaje que se muestra durante cinco segundos y luego simplemente transferidos automáticamente a la siguiente actividad dentro del programa. Este ajuste se puede hacer en pocos pasos.

Instrucciones

1 Abra un nuevo proyecto EXE estándar de Visual Basic. Un formulario denominado "Form1" se crea de forma predeterminada. Añadir un nuevo módulo al proyecto haciendo clic derecho sobre el nombre del proyecto y haga clic en "Agregar" y luego "módulo". El nombre predeterminado para el nuevo módulo será "Module 1".

2 Cambie el nombre del formulario y el módulo como algo significativo como "frmMain" para la forma y "modTimer" para el módulo. En la "(en general) (declaraciones)" zona de "modTimer", declarar las siguientes funciones de Windows: KillTimer, FindWindow, SetForegroundWindow. Cada una de estas funciones se hace referencia en el Windows "user32" biblioteca.

Private Declare Function KillTimer Lib "user32" (ByVal CVent As Long, ByVal nIDEvent As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias ​​"FindWindowA" (ByVal lpClassName como secuencia, de ByVal lpWindowName como secuencia) como a largo

Private Declare Function SetForegroundWindow Lib "user32" (ByVal CVent As Long) As Long

3 Declarar una constante que será recibido para cerrar el cuadro de mensaje. La declaración de constante es "Public Const NV_CLOSEMSGBOX As Long = & H5000 y." También definir una subrutina llamada "TimerSub" en "modTimer." La declaración de "TimerSub" se parece a:

Public Sub TimerSub (ByVal CVent As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime como de largo)

4 Matar a cualquier otro temporizador primero dentro "TimerSub" para asegurarse de que el nuevo temporizador es el único activo. La función es "KillTimer." A continuación, compruebe el valor de "idEvent" para ver si es igual a "NV_CLOSEMSGBOX." Si es así, encontrar el cuadro de mensaje con "FindWindow" y enviar la tecla "Enter" en el cuadro de mensaje usando "SendKeys". Esto forzará el botón predeterminado clic para ejecutar y así cerrar el cuadro de mensaje.

5 Probar la funcionalidad definida en "TimerSub" mediante la adición de un botón para "frmMain." En el código del botón de eventos de clic, ajustar el temporizador:

SetTimer CVent, NV_CLOSEMSGBOX, 5000, AddressOf TimerProc

Esto hará que el cuadro de mensaje que se cierre en 5000 milisegundos o 5 segundos. Seleccione "Ejecutar" y "Inicio" del menú en VB para ejecutar el programa.