Introduction.
We have learned several label animation methods, through the last few posts dedicated to this topic, but we will try another trick, with the last design that you have created to try out the Zoom-in method.
In this method, we will play with colors and each letter of the name is applied with different colors generated randomly. Besides that, the name of the employee is plotted in a magical way by displaying odd-numbered letters first on odd-numbered labels i.e. lbl01, lbl03, lbl05, and even-numbered letters displayed on even-numbered labels i.e. lbl02, lbl04, lbl06, and so on. The letters will be plotted on the labels in a fixed time interval giving it an animated effect.
After this two-step action, the employee name display will be completed on the Header of the Form to view.
You can easily implement this method if you have tried out the earlier label animation method we have seen last week.
The Design Task.
Make a Copy of the Employees Form, which we have designed last week, and name it Employees_2 or any other name you prefer.
The sample design of the Form, with twenty labels placed close together in the Header of the Form, with the Name Property Values set as lbl01 to lbl20, is given below:
Display the Code Module of the Form (View - -> Code), after opening the Form in Design View.
Copy and Paste the following VBA Code into the Form Module overwriting the existing Code.
The Form Module Code.
Option Compare Database Option Explicit Dim j, txtName, ctrl As Label Private Sub Form_Current() Dim t, m, R, G, B Randomize (Timer) txtName = Me![first name] & " " & Me![Last name] For j = 1 To 20 Set ctrl = Me("lbl" & Format(j, "00")) ctrl.Caption = "" Next For j = 1 To Len(txtName) Step 2 Set ctrl = Me("lbl" & Format(j, "00")) R = Int(Rnd(1) * 64) G = Int(Rnd(1) * 128) B = Int(Rnd(1) * 255) ctrl.ForeColor = RGB(R, G, B) ctrl.Caption = Mid(txtName, j, 1) t = Timer Do While Timer < t + 0.1 DoEvents Loop Next For j = 2 To Len(txtName) Step 2 Set ctrl = Me("lbl" & Format(j, "00")) R = Int(Rnd(1) * 255) G = Int(Rnd(1) * 128) B = Int(Rnd(1) * 64) ctrl.ForeColor = RGB(R, G, B) ctrl.Caption = Mid(txtName, j, 1) t = Timer Do While Timer < t + 0.1 DoEvents Loop Next End Sub
Save the Form with the new VBA Code.
The Demo Run.
Open the Form in the normal view.
Use the record navigation button to move the record forward or back and watch how the employee name is displayed in the header labels.
The sample screen in Normal View is given below:
Each character of the name will be displayed in different colors and in one-tenth of a millisecond time interval, giving it an animated effect. The color codes are generated randomly.
In this control program, we have used two delay loops, instead of using the Form's default Timer Interval Event Procedure.
You can modify the given value 0.1 in the program line Do While Timer < t + 0.1 to increase or decrease the animation speed.
For example, the value 0.5 will slow down the action and 0.05 will run faster.
[...] This post was mentioned on Twitter by aprpillai. aprpillai said: Label Animation in Colors: We have learned several label animation methods, through last few http://goo.gl/fb/PPMy6 [...]
ReplyDelete