Controlli - Inserire dinamicamente controlli






Option Explicit
' If you are adding an ActiveX control at run-time that is

' not referenced in your project, you need to declare it

' as VBControlExtender.

Dim WithEvents ctlDynamic As VBControlExtender
Dim WithEvents ctlText As VB.TextBox
Dim WithEvents ctlCommand As VB.CommandButton

Private Sub ctlCommand_Click()
ctlText.Text = "You Clicked the Command button"
End Sub

Private Sub ctlDynamic_ObjectEvent(Info As EventInfo)
' test for the click event of the TreeView

If Info.Name = "Click" Then
ctlText.Text = "You clicked " & ctlDynamic.object.selecteditem.Text
End If
End Sub

Private Sub Form_Load()
Dim i As Integer
' Add the license for the treeview to the license collection.

' If the license is already in the collection you will get

' the run-time error number 732.

Licenses.Add "MSComctlLib.TreeCtrl"

' Dynamically add a TreeView control to the form.

' If you want the control to be added to a different

' container such as a Frame or PictureBox, you use the third

' parameter of the Controls.Add to specify the container.

Set ctlDynamic = Controls.Add("MSComctlLib.TreeCtrl", _
"myctl", Form1)
' set the location and size of the control.

ctlDynamic.Move 1, 1, 2500, 3500

' Add some nodes to the control.

For i = 1 To 10
ctlDynamic.object.nodes.Add Key:="Test" & Str(i), Text:="Test" _
& Str(i)
ctlDynamic.object.nodes.Add Relative:="Test" & Str(i), _
Relationship:=4, Text:="TestChild" & Str(i)
Next i

' Make the control visible.

ctlDynamic.Visible = True

' add a textbox

Set ctlText = Controls.Add("VB.TextBox", "ctlText1", Form1)
' Set the location and size of the textbox

ctlText.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
1, 2500, 100

' Change the backcolor.

ctlText.BackColor = vbYellow

' Make it visible

ctlText.Visible = True

' Add a CommandButton.

Set ctlCommand = Controls.Add("VB.CommandButton", _
"ctlCommand1", Form1)

' Set the location and size of the CommandButton.

ctlCommand.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
ctlText.Height + 50, 1500, 500

' Set the caption

ctlCommand.Caption = "Click Me"

' Make it visible

ctlCommand.Visible = True
End Sub










( controlliinseriredinamicamentecontrolli.html )- by Paolo Puglisi - Modifica del 17/12/2023