Parpadear

¿Cómo puedo hacer para que un formulario determinado parpadee?
Asimismo como puedo en un formulario continuo que ciertas palabras cambien a un color determinado.
Por Ejemplo agua (Color Celeste), tierra (Color Marrón), etc.

1 respuesta

Respuesta
1
Te explico como hacer para que parpadee el caption de tu venta, que es lo que creo que quieres hacer:
En las Declaraciones del Formulario pon la siguiente declaración:
'Para hacer parpadear el caption de la aplicacion
Private Declare Function FlashWindow Lib "user32" _
(ByVal hwnd As Long, ByVal bInvert As Long) As Long
Private Sub Flash(ByRef Form As Form, ByVal blnFlash As Boolean)
Dim sngStart As Single
Dim blnDoorgaan As Boolean
If blnFlash Then
blnDoorgaan = True
Else
blnDoorgaan = False
End If
Do While blnDoorgaan
FlashWindow Form.hwnd, True
sngStart = Timer
Do While Timer < sngStart + 0.5
DoEvents
Loop
If Not blnDoorgaan Then Exit Do
Loop
If Not blnDoorgaan Then FlashWindow Form.hwnd, False
End Sub
En el evento con el que quieras activar el parpadeo pon:
Flash Me, True
y en el evento en el que quieras que finalize el parpadeo pon:
Flash Me, False
Es muy importante que tengas en cuenta poner por seguridad la finalización del parpadeo en el Unload del Formulario.
De todos modos, ya te adelanto, que el uso de esta función suele dar algunos problemas a veces como que la aplicación no responda, etc... Es la API necesaria para hacer lo que quieres, pero si no te saeguras de controlar bien sus efectos puedes tener más de un quebradero de cabeza.
Respecto a lo de cambiar los colores del texto sólo debes utilizar la propiedad ForeColor de la caja de texto en cuestión; por ejemplo:
Select Case CajaTexto1
Case "AGUA"
CajaTexto1.ForeColor = VbRed
Case "TIERRA"
CajaTexto1.ForeColor = VbGreen
Case Else
CajaTexto1.ForeColor = VbBlue
End Select
Lo único que debes tener en cuenta son los posibles valores del dato de la caja de texto, los colores que quieras utilizar para cada uno de los casos, y el evento concreto donde quieres realizarlo (en el Load del formulario, en el Change de las cajas de texto, etc...). Eso si, MUY IMPORTANTE, es que si se trata de un "formulario continuo" o un subformulario, es decir que muestra varios registros a la vez, no podrás cambiar el color de cada uno de los registros, sino que al cambiar la propiedad FORECOLOR se cambiaran los colores de todas las cajas de texto de ese objeto y por lo tanto todos los registros... Si es esto ultimo olvidate de lo que quieres hacer, ya que no se puede realizar...
Espero que esto solucione tus dudas. Ya sabes donde encontrarme para cualquier duda o consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas