vb6中如何动态添加控件

vb6中如何动态添加控件,第1张

vb6中如何动态添加控件,第2张

您可以在vb6中动态添加控件,而无需使用控件数组:
object.add (progid,name,container)

参数说明:
object:必输。对象表达式,其值是“应用于”列表中的对象。

Progid:必需。标识控件的字符串。大多数控件的Progid可以通过查看对象浏览器来确定。控件的progid由控件的库和类组成。例如,commandbutton控件的progid是vb.commandbutton。当progid与对象浏览器中显示的progid不同时,visual basic将显示一条包含正确progid的错误信息。

名称:必需。标识集合成员的字符串。

容器:可选。指定控件容器的对象引用。如果未指定或为null,默认值是控件集合所属的容器。通过指定此参数,控件可以放置在任何现有的容器控件中(如框架控件)。用户或activex文档也可以用作容器。

示例:(在picture1顶部添加命令按钮)
private subform _ load()
form 1 . controls . add " VB . command button "," cmdok ",picture1
with form1!Cmdok
。visible = true
。宽度= 500
。caption = " confirm(& y)"

end sub结束

重要提示:当向现有(已部署)应用程序添加需要许可证的未引用控件时,在使用add方法之前,还必须添加该控件的license关键字。

在运行时添加未引用的控件
还可以使用Add方法动态添加项目中未引用的控件。(“未引用”控件是不出现在工具箱中的控件)。为此,还必须将控件的license关键字添加到licenses集合中。下面的示例在添加控件本身之前添加控件的license关键字:
option explicit
private withevents extctl as vbcontrolextender。

private sub form _ load()
licenses . add " prj weeks . weeks CTL "," xydsfasfjewfe "
set ext CTL = form 1 . controls . add(" prj weeks . weeks CTL "," CTL 1 ")
ext CTL . visible = true '控件默认情况下是不可见的。
结束sub

但是,为了在不引用控件的情况下编写这样的事件,必须使用withevents关键字将对象变量声明为vbcontrolextender对象(如上所示),并将对象变量设置为add方法返回的引用。然后,使用vbcontrolextender对象的objectevent事件对此控件的事件进行编程。下面是一个简单的示例:
option explicit
dimwithevents objext as vbcontrolextender '声明扩展程序变量。

private sub load control()
licenses . add " project 1 . control 1 "," xydsfasfjewfe "
set obj ext = controls . add(" project 1 . control 1 "," myctl ")
obj ext . visible = true
end sub

private ext obj _ object event(info as event info)
'使用select case编写控件的事件。
select caseinfo . name
case " Click "
' Click事件在此处处理。
'现在显示其他案例
case else '未知事件
'在这里,处理未知事件。
结束选择
结束sub

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » vb6中如何动态添加控件

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情