Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2010, 15:02
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Aportación: Mostrar un mensaje con temporizador

Hola, hoy me ha surgido esta necesidad y se me ha ocurrido la siguiente idea, aquí la dejo por si sirve de ayuda a alguien:

La idea es mostrar un mensaje de error, aviso, etc evitando el MsgBox y tener que pulsar Aceptar, agilizando el proceso.

Para el ejemplo se necesita crear un Formulario con dos Command, un Timer con el nombre msgTimer y un Label con el nombre msgLabel, por supuesto la posición, colores y tamaño del label a gusto del usuario.


Código vb:
Ver original
  1. Option Explicit
  2.  
  3. Private Sub Command1_Click()
  4.   msgLabel = "Mensaje de prueba en el Command Uno"
  5. End Sub
  6.  
  7. Private Sub Command2_Click()
  8.   msgLabel = "Mensaje de prueba en el Command Dos"
  9. End Sub
  10.  
  11. Private Sub Form_Load()
  12.   ' En la carga del formulario, ajustamos los valores y deshabilitamos el Timer
  13.  msgTimer.Enabled = False    ' Timer detenido
  14.  msgTimer.Interval = 5000    ' Pausa 5 segundos
  15.  msgLabel.Caption = ""       ' Mensaje Borrado
  16.  msgLabel.Visible = False    ' Mensaje Oculto
  17. End Sub
  18.  
  19. Private Sub msgLabel_Change()
  20.   If msgLabel.Caption = "" Then
  21.     ' Mensaje en blanco, detener temporizador, ocultar mensaje
  22.    msgTimer.Enabled = False
  23.     msgLabel.Visible = False
  24.   Else
  25.     ' Mensaje con datos, activar temporizador, mostrar mensaje
  26.    msgTimer.Enabled = False  'Primero desactivamos para detenerlo
  27.    msgTimer.Enabled = True
  28.     msgLabel.Visible = True
  29.   End If
  30. End Sub
  31.  
  32. Private Sub msgTimer_Timer()
  33.   ' Llegado al tiempo, borramos mensaje
  34.  msgLabel.Caption = ""
  35. End Sub

Espero que a alguien le sea de utilidad.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...