Introduction.
Computer programming is fascinating because once you begin experimenting, it often sparks new ideas and leads you to try even more. I originally planned to demonstrate just one or two label animation techniques, but we’ve already explored five different animation methods.
Now, we’ll learn one more trick using the same form and labels we worked with last week. All you need to do is copy the new VBA code provided below into the code module of the Form.
The sample image below shows the program in action:
In this method, the color of each letter in the employee’s name gradually fades as if receding into the distance. At the same time, the size of each letter decreases step-by-step. The letters are displayed at fixed time intervals, creating an animated effect with the sense of three-dimensional depth.
Links to earlier Animation Styles.
If you have not tried out the earlier Label animation methods, you may explore them by visiting the following pages:
- Label Animation Style-1
- Label Animation Style-2
- Label Animation Variant
- Label Animation Zoom-in Style
- Label Animation in Colors
Let us try the new method.
The Design Task.
Make a copy of the Employees form we used last week. On this form, create twenty small labels, and set their Name property to the values
lbl01
throughlbl20
.A sample image of the Form is given below for reference:
Open the Employees Form you have copied in Design View.
Display the Code Module of the Form (View -> Code).
Copy and paste the following VBA Code into the Module, overwriting the existing Code:
The Form Module Code.
Option Compare Database Option Explicit Dim j, txtName, ctrl As Label, i Private Sub Form_Current() Dim t, xRGB As Long, fsize txtName = UCase(Me![first name] & " " & Me![Last name]) fsize = 22 For j = 1 To 20 Set ctrl = Me("lbl" & Format(j, "00")) ctrl.FontSize = fsize ctrl.Caption = "" fsize = fsize - 1 Next xRGB = RGB(10, 10, 10) i = xRGB For j = 1 To Len(txtName) Set ctrl = Me("lbl" & Format(j, "00")) xRGB = xRGB + i ctrl.ForeColor = xRGB ctrl.Caption = Mid(txtName, j, 1) t = Timer Do While Timer < t + 0.1 DoEvents Loop Next End Sub
Save the Form with the Code and open it in the normal view.
Use the Record Navigation buttons to move forward or backward through the records, and observe how the employee name is displayed dynamically in the form’s header.
No comments:
Post a Comment
Comments subject to moderation before publishing.