在窗体中新建控件的方法

在新窗体中创建一个窗体控件的代码

时 间:2009-02-05 07:24:46
作 者:AccessHome整理   ID:563  城市:上海
摘 要:下面的代码:首先基于“订单”表创建一个新窗体,然后使用 CreateControl 方法在窗体上创建文本框控件和附属标签控件。
注释  如果向导在新的或现有的窗体或报表中创建控件,它必须先在“设计”视图中打开窗体或报表。


Sub NewControls()
    Dim frm As Form
    Dim ctlLabel As Control, ctlText As Control
    Dim intDataX As Integer, intDataY As Integer
    Dim intLabelX As Integer, intLabelY As Integer

    ' Create new form with orders table as its record source.
    Set frm = CreateForm
    frm.RecordSource = "Orders"
    ' Set positioning values for new controls.
    intLabelX = 100
    intLabelY = 100
    intDataX = 1000
    intDataY = 100
    ' Create unbound default-size text box in detail section.
    Set ctlText = CreateControl(frm.Name, acTextBox, , "", "", _
        intDataX, intDataY)
    ' Create child label control for text box.
    Set ctlLabel = CreateControl(frm.Name, acLabel, , _
         ctlText.Name, "NewLabel", intLabelX, intLabelY)
    ' Restore form.
    DoCmd.Restore
End Sub




VBA(Visual Basic for Applications)是一种用于自动化Microsoft Office应用程序的强大工具,它允许用户通过编写宏代码来自定义功能。在Excel、Access等Office组件中创建自定义窗体,并在其上添加各种控件是非常常见的需求。 要在VBA中的窗体(Form)里添加控件(Controls),通常有两种方法: ### 1. 使用设计视图 这是最直观的方式,在“设计模式”下直接拖拽所需控件窗体上来完成布局。步骤如下: - 打开相应的Office应用(如Excel),按`Alt + F11`进入VBA编辑器。 - 插入一个新的UserForm (`Insert -> Userform`) 者双击已有的窗体打开其设计器。 - 进入设计状态后从左侧工具箱选择想要添加的控件类型,比如按钮(Button), 文本框(TextBox), 列表框(ListBox) 等等... - 将选中的图标拖放到窗体内适当的位置即可完成添加;同时可以在属性窗口调整各控件的具体外观及行为特性。 ### 2. 动态创建控件 (Run-time) 如果你需要根据程序运行时的情况动态地生成某些界面元素,则可以利用 VBA 的 `Add()` 方法结合具体的控件类名来实现这一点。例如下面是在运行过程中向名为 `UserForm1` 的窗体实例内增加一个命令按钮的小例子: ```vba Sub AddButtonAtRuntime() Dim cmd As MSForms.CommandButton '声明变量为CommandButton类型的引用 Set cmd = UserForm1.Controls.Add("Forms.CommandButton.1") '通过字符串指定OLE控件名称来新建该对象并赋值给cmd变量 With cmd .Name = "DynamicCmd" '设置新控件的基本属性 .Caption = "点击这里" .Top = 50 '定位坐标点相对于容器左上角的距离 .Left = 100 ' .Visible = True '控制可见性,默认即为此值 End With End Sub ``` 以上就是关于如何在VBA项目里的窗体中加入不同类型控件的基础教程了。希望这能帮助你更好地理解和掌握这个知识点!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值