明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4925|回复: 8

VBA能动态添加窗体控件吗?

[复制链接]
发表于 2003-11-4 11:46:00 | 显示全部楼层 |阅读模式
我想根据输入的一个整形值,来[U]动态[/U]地生成[U]窗体上的控件[/U],这能做到吗?
发表于 2003-11-4 11:54:00 | 显示全部楼层
AddControl 事件、Add 方法示例

下例在运行时间使用 Add 方法将控件添至窗体,并且用 AddControl 事件来确认控件已被添加。

若要使用该示例,请将示例代码复制到某窗体的声明变量部分。确保该窗体包含:

名为 CommandButton1 的命令按钮。


名为 Label1 的标签。
Dim Mycmd as Control
Private Sub CommandButton1_Click()

    Set Mycmd = Controls.Add("MsForms.CommandButton.1") ', CommandButton2,Visible)
    Mycmd.Left = 18
    Mycmd.Top = 150
    Mycmd.Width = 175
    Mycmd.Height = 20
    Mycmd.Caption = "非常有趣。" & Mycmd.Name
   
End Sub

Private Sub UserForm_AddControl(ByVal Control As _
    MSForms.Control)
    Label1.Caption = "控件已被添加。"
End Sub
发表于 2003-11-5 10:54:00 | 显示全部楼层
Set Mycmd = Controls.Add("MsForms.CommandButton.1")
此句应为
    Set Mycmd = Controls.Add("Forms.CommandButton.1")

否则提示错误
请问斑竹efan2000 什么时候用MsForms,什么时候用forms呢?
谢先
 楼主| 发表于 2003-11-5 17:49:00 | 显示全部楼层
狂顶bluemoon
你说得太对了,msforms和forms有什么区别?
发表于 2003-11-5 19:13:00 | 显示全部楼层
没想到VBA帮助中的代码也有错误,应该是Forms,没有MsForms。
看它对各个控件的说明。

ProgID 必需。程序设计标识符。是用于标识对象类的、没有空格的文本串。ProgID 的标准语法是 <Vendor>.<Component>.<Version>。ProgID 会被映射为类标识符 (CLSID)。

单个控件的 ProgID 值:

复选框 Forms.CheckBox.1
组合框 Forms.ComboBox.1
命令按钮 Forms.CommandButton.1
框架 Forms.Frame.1
图像 Forms.Image.1
标签 Forms.Label.1
列表框 Forms.ListBox.1
框架 Forms.MultiPage.1
选项按钮 Forms.OptionButton.1
滚动条 Forms.ScrollBar.1
数值调节钮 Forms.SpinButton.1
TabStrip Forms.TabStrip.1
文本框 Forms.TextBox.1
切换按钮 Forms.ToggleButton.1
发表于 2003-11-5 22:12:00 | 显示全部楼层
可是在Private Sub UserForm_AddControl(ByVal Control As _
    MSForms.Control)
中有msforms 啊?
恕我很菜
发表于 2003-11-5 22:22:00 | 显示全部楼层
区别在于:
定义数据类型用MSForms
控件的ProgID 值用Forms
发表于 2003-11-6 18:40:00 | 显示全部楼层
多谢指教啊
 楼主| 发表于 2003-11-7 11:21:00 | 显示全部楼层
我想在别处引用动态添加的控件的属性怎么办????
另版主所说的定义数据类型用msforms,是指定义谁的数据类型???


[em00]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 12:42 , Processed in 0.180813 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表