Introduction
Last week we learned a simple label animation method to display Employee Names, and made them appear character by character from the right side of the label to full view. The animated label gives the Form a lively look and makes it more interesting for the User to work with the Screen.
This week we will learn a different label animation method with the same set of labels. In the earlier method, we used two identical labels to give the employee name a 3D effect. We will stick with the same design, but the labels will be put horizontally apart in the design as shown below:
In the Current-Event Procedure of the Form the Labels will be moved in the opposite direction and finally assembled into a 3D heading style as shown below:
This happens every time an employee record becomes current. The labels will restart from their original design position and slowly move in the opposite direction and stay in place to form the 3D Style Employee Name.
If you have gone through the earlier label animation design task, then it is easy to implement this one very easily. All you have to do is to set the following Property Settings of lbl1 and lbl2 and copy the VBA routines into the Employee Form Module.
The Label Animation Design.
Open your database where you have tried the earlier example.
Make a copy of the earlier Employee Form we have tried the Label Animation and name it Employee2.
Open the Employee2 Form in Design View.
Click on the top label on the header of the Form and drag and move it to the right so that we will be able to click and select the labels individually and set their properties.
Select the Label with the name lbl1.
Display its Property Sheet (View - -> Properties) and set the following Property Values:
- Name = lbl1
- Width = 2.9924"
- Height = 0.3549"
- Top = 0.1569"
- Left = 2.5194"
- Back Style = Transparent
- Border Style = Transparent
- Font Name = Verdana
- Font Size = 18
- Text Align = Centre
- Font Weight = Bold
- ForeColor = 0
Select the Label with the name lbl2.
Display the Property Sheet and change the following Property Values:
- Name = lbl2
- Width = 2.9924"
- Height = 0.3549"
- Top = 0.125"
- Left = 5.5313"
- Back Style = Transparent
- Border Style = Transparent
- Font Name = Verdana
- Font Size = 18
- Text Align = Centre
- Font Weight = Bold
- ForeColor = 16777215
Display the Code Module of the Form (View- -> Code).
Copy and Paste the following VBA Code overwriting the existing Code:
The Form Module VBA Code.
Option Compare Database Option Explicit Private Const twips As Long = 1440 Dim i, j Private Sub Form_Current() Dim txtName As String Me.lbl1.Left = 2.5194 * twips: Me.lbl1.Top = 0.1569 * twips: Me.lbl1.Width = 2.9924 * twips: Me.lbl1.Height = 0.3549 * twips Me.lbl2.Left = 5.5313 * twips: Me.lbl2.Top = 0.125 * twips: Me.lbl2.Width = 2.9924 * twips: Me.lbl2.Height = 0.3549 * twips txtName = Me![first name] & " " & Me![Last name] Me.lbl1.Caption = txtName Me.lbl2.Caption = txtName i = 0 Me.TimerInterval = 5 End Sub Private Sub Form_Timer() Dim m, L1, L2 i = i + 1 m = i Mod 2 Select Case m Case 0 L1 = Me.lbl1.Left L1 = L1 + (0.084 * twips) Me.lbl1.Left = L1 Case 1 L2 = Me.lbl2.Left L2 = L2 - (0.084 * twips) Me.lbl2.Left = L2 End Select DoEvents If i > 35 Then Me.TimerInterval = 0 i = 0 End If End Sub
Save the Employee2 Form.
Open the Employee2 Form in normal view
Click on the Record Navigation control to advance each record forward one by one.
For each record change, you will find the Employee Name Labels move towards each other and assemble into place to form a 3D heading.