举例: //在picture1上面添加一个commandbutton Private Sub Form_Load() Form1.Controls.Add "VB.CommandButton", "cmdOk", Picture1 With Form1!cmdOk .Visible = True .Width = 500 .Caption = "确认(&Y)" End With End Sub
Option Explicit Private WithEvents extCtl As VBControlExtender
Private Sub Form_Load() Licenses.Add "prjWeeks.WeeksCtl", "xydsfasfjewfe" Set extCtl = Form1.Controls.Add("prjWeeks.WeeksCtl", "ctl1") extCtl.Visible = True The control is invisible by default. End Sub
Option Explicit Dim WithEvents objExt As VBControlExtender 声明 Extender 变量
Private Sub LoadControl() Licenses.Add "Project1.Control1", "xydsfasfjewfe" Set objExt = Controls.Add("Project1.Control1", "myCtl") objExt.Visible = True End Sub
Private Sub extObj_ObjectEvent(Info As EventInfo) 使用 Select Case 编程控件的事件。 Select Case Info.Name Case "Click" 这里处理 Click 事件。 现在显示其他的 case Case Else 未知事件 这里处理未知事件。 End Select End Sub
Option Explicit 声明对象变量为 CommandButton 。 Private WithEvents cmdObject As CommandButton
Private Sub Form_Load() Set cmdObject = Form1.Controls.Add("VB.CommandButton", "cmdOne") cmdObject.Visible = True cmdObject.Caption = "Dynamic CommandButton" End Sub
Private Sub cmdObject_Click() Print "This is a dynamically added control" End Sub 如果希望添加一个用户控件或任何 ActiveX 控件到您的窗体,必须或者把这个控件添加到“工具箱”,或者把控件的 License 关键字添加到 Licenses集合中。有关详细信息请参阅“增加方法 (Licenses 集合)”。