| 1) Standard.exe | Position a Tree View List named treeview1 on the frmMain form. Add a Frame which will become the container for the user controls. Name the frame - framContainer | Name the project: projUserControls |
| 2) Add Project ActiveX Control | Name the project: CALC_OCX | |
| 3) Create 3 user controls |
userCalculator Simple Calculator userCalendar Simple Calendar userMultimedia Plays an Avi file |
Add Functionality for each of the user controls |
04-05>On the Project Menu. click Properties. Select the General Tab, check Require License Key, then click ok.From the User Application Perspective the License Key is passed the VB runtime dll. From the developer perspective the license ey will need to be put in the registery before it can be used in development. 06> Controls.Add (ProgID, name, container). ProgrID defines the UserControl Project.Name Name identifies a unique container identification Container identifies a container in which the user control will become active. |
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim objCalc As Object
01> Call RemoveApplication("Application1")
02> Call RemoveApplication("Application2")
03> Call RemoveApplication("Application3")
If Node.Text = "Calculator" Then
04> If CheckLicense("CALC_OCX.userCalculator") = False Then
05> Licenses.Add "CALC_OCX.userCalculator"
End If
06> Set objCalc = Me.Controls.Add("CALC_OCX.userCalculator", "Application1", framContainer)
objCalc.Visible = True
framContainer.Width = objCalc.Width
framContainer.Height = objCalc.Height
ElseIf Node.Text = "Calendar" Then
If CheckLicense("CALC_OCX.userCalendar") = False Then
Licenses.Add "CALC_OCX.userCalendar"
End If
Set objCalc = Me.Controls.Add("CALC_OCX.userCalendar", "Application2", framContainer)
objCalc.Visible = True
framContainer.Width = objCalc.Width
framContainer.Height = objCalc.Height
ElseIf Node.Text = "Multimedia" Then
If CheckLicense("CALC_OCX.usermultimedia") = False Then
Licenses.Add "CALC_OCX.usermultimedia"
End If
Set objCalc = Me.Controls.Add("CALC_OCX.usermultimedia", "Application3", framContainer)
objCalc.Visible = True
framContainer.Width = objCalc.Width
framContainer.Height = objCalc.Height
End If
end sub
Private Function CheckLicense(sProgID As String) As Boolean
Dim objLicense As LicenseInfo
For Each objLicense In Licenses
If objLicense.ProgID = sProgID Then
CheckLicense = True
Exit Function
End If
Next
CheckLicense = False
End Function
Private Sub RemoveApplication(sApplication As String)
Dim objControl As Control
For Each objControl In Me.Controls
If objControl.Name = sApplication Then
Me.Controls.Remove sApplication
End If
Next
End Sub