opchan
asked on
BLINKING TEXT
How do I nake the text in a textbox or label blink off and on without using a timer to control it?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
But this only works if there are no other controls on the form that can receive focus so really it is only a gimmicky solution.
Alternative solution - much better!
Create a form with two labels, label1 and label2
Make Label2 invisible, and give Label1 a caption
Paste the following code into the form module:
Option Explicit
Private datLastTime As Date
Private blnUnloading As Boolean
Private Sub Form_Activate()
Dim dblSecond As Double
Do While Not blnUnloading
dblSecond = (Now - datLastTime) * 24 * 60 * 60
Do While dblSecond <= 0.5
DoEvents
If blnUnloading Then
Exit Sub
End If
dblSecond = (Now - datLastTime) * 24 * 60 * 60
Loop
datLastTime = Now
DoEvents
If blnUnloading Then
Exit Sub
End If
If Label1.Caption = "" Then
Label1.Caption = Label2.Caption
Label2.Caption = ""
Else
Label2.Caption = Label1.Caption
Label1.Caption = ""
End If
Loop
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
blnUnloading = True
End Sub
With the above code, your form can even have other controls and they can have focus. Not nearly as gimmicky as previous solution!
Good luck!
Create a form with two labels, label1 and label2
Make Label2 invisible, and give Label1 a caption
Paste the following code into the form module:
Option Explicit
Private datLastTime As Date
Private blnUnloading As Boolean
Private Sub Form_Activate()
Dim dblSecond As Double
Do While Not blnUnloading
dblSecond = (Now - datLastTime) * 24 * 60 * 60
Do While dblSecond <= 0.5
DoEvents
If blnUnloading Then
Exit Sub
End If
dblSecond = (Now - datLastTime) * 24 * 60 * 60
Loop
datLastTime = Now
DoEvents
If blnUnloading Then
Exit Sub
End If
If Label1.Caption = "" Then
Label1.Caption = Label2.Caption
Label2.Caption = ""
Else
Label2.Caption = Label1.Caption
Label1.Caption = ""
End If
Loop
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
blnUnloading = True
End Sub
With the above code, your form can even have other controls and they can have focus. Not nearly as gimmicky as previous solution!
Good luck!