Label Animation Zoom-in Style
This week we will learn a different style of Label Animation technique. Those who would like to have a look at the earlier simple label animation methods, the page links are given below to visit those pages:
In all the above methods we have used two labels, which moved towards each other from different directions and placed close together to form the displaying text to look like a 3D heading.
This week we will use a different approach and we need about twenty small labels placed close together horizontally. Each Label will display only one character of the Employee Name and all the employee names are less than twenty characters only.
Sample arrangement of Labels in the design view is given below:
Animation Style image is given below:
The employee name will appear from left to right, character by character in each label, followed by the letters will Zoom-in and Zoom-out in sequence. The above screen is captured in the middle of that action.
Let us get into the design task of this animation.
- If you have not gone through the earlier examples then Import the Employees Table from C:\Program Files\Microsoft Office\Office11\Samples\Northwind.mdb sample database.
- Click on the Employees Table and select Form from Insert Menu.
- Create a Form as shown above and save it with the name Employees or any suitable name that you prefer.
- Open the Form in Design View.
- Select the Label Tool from Toolbox and draw a Label control in the header section of the Form.
- Change the following property values of the Label as given below:
- Name = lbl01
- Width = 0.2528"
- Height = 0.3549"
- Top = 0.1563"
- Left = 1.1146
- Back Style = Transparent
- Border Style = Transparent
- Special Effect = Flat
- Font Name = Verdana
- Font Size = 14
- Font Weight = Bold
- Fore Color = 7500402
Now, we must copy this label nineteen times and arrange them as shown on the first image, at the top of this page.
- We must also change the Name Property Value of each label sequentially so that we can easily address each label in Programs to change their caption values to display the Employee’s name.
- Right-Click on the Label and select Copy from the displayed Shortcut Menu.
- Select Paste from Edit Menu to create a copy of the Label.
- Click and drag the new label and place it to the right of the first label. Don’t worry about the misalignment of the labels, we will arrange them easily later.
- Repeat the Paste action to create another eighteen labels.
- Click on the second Label.
- Display its Property Sheet (View- -> Properties).
- Change the Name Property value to lbl02.
- Repeat this method for other labels also and name them as lbl03, lbl04 and so on up to lbl20.
- Click at the left side of the first label (lbl01) and drag the Mouse over all the twenty labels to select them all together.
- Select Format – -> Align – -> Top to align all Labels horizontally.
- Select Format – -> Align – -> Left to bring all the Labels close together.
Now, that we have arranged the labels and their Name Property Values set to lbl01 to lbl20 all that is left to do is to copy the following Programs into the Form's Code Module.
- Select Code from View Menu.
- Copy and Paste the following VBA Code into the Module (overwriting the existing VBA Code, if any).
Option Compare Database Option Explicit Private Const twips As Long = 1440 Dim i, j, txtName, ctrl As Label Private Sub Form_Current() txtName = UCase(Me![first name] & " " & Me![Last name]) i = 0 Me.TimerInterval = 50 End Sub Private Sub Form_Timer() Dim m, L1, L2 i = i + 1 If i > Len(txtName) Then For j = Len(txtName) + 1 To 20 Set ctrl = Me("lbl" & Format(j, "00")) ctrl.Caption = "" Next Me.TimerInterval = 0 i = 0 animate Else Set ctrl = Me("lbl" & Format(i, "00")) ctrl.Caption = Mid(txtName, i, 1) ctrl.ForeColor = &H727272 End If DoEvents End Sub Public Function animate() Dim k As Integer, t For k = 1 To Len(txtName) Set ctrl = Me("lbl" & Format(k, "00")) ctrl.ForeColor = 0 ctrl.FontSize = 24 DoEvents If k = 10 Then Exit For t = Timer Do While Timer < t + 0.09 DoEvents Loop ctrl.FontSize = 14 Next End Function
- Save the Form with the Code.
- Open it in normal view.
- Use the Record Navigation Buttons to advance the record one by one forward/back to display the employee name animated.
The Labels will appear automatically to the right of earlier labels.
Hope you like this method better and implement it in your Projects.