vb6.0 动态添加的控件可以对它进行 *** 作吗?

vb6.0 动态添加的控件可以对它进行 *** 作吗?,第1张

可以啊,VB6我知道的有两种方法动态添加、删除控件,一种是用Controls,一种是用控件数组,不知道你用的哪种?

用Controls:

dim frame1 as Frame

Set frame1 = Controls.Add("VB.Frame", "aa") ‘添加

frame1 .Visible = True

frame1.Width = 1000‘调整大小

frame1.Height = 1000

Controls.Remove aa’删除

用控件数组:

首先在窗体上添加一个Frame控件,命名为frameArray,Index属性为0

Load frameArray(1) '添加

frameArray(1).Width = 1000‘调整大小

frameArray(1).Height = 1000

frameArray(1).Visible = True

Unload frameArray(1) '删除

可以使用Load方法

语法为:Load object

要求必须预先创建一个控件数组

例如,现在你已经创建了一个command的控件数组,它的name为cmd

(方法请自行百度)

开始的一个元素的调用方法为

Cmd1(0).属性

其中()内的为 *** 作元素的下标。只要Load对应的数组元素。即可完成元素的载入,载入成功后可以当做一个普通控件来 *** 作。

此时如果需要添加多个,请使用For循环+Load语句实现

For i=1 to 20

Load Cmd(i)

Cmd(i).visible=ture

....

....

next i

’使用 select case 编程控件的事件。

select case info.name

case "click"

’这里处理 click 事件。

’现在显示其他的 case

case else ’未知事件

’这里处理未知事件。

end selectend sub 注意:不能把一个固有的控件指定给这个 vbcontrolextender 变量任何这种试图将引起类型不匹配错误。

但是,您也可以通过使用 withevents 关键字声明一个对象变量,并且设置该方法返回的引用为该变量,从而编程一个动态添加控件的事件,如下所示。

option explicit

’声明对象变量为 commandbutton 。

private withevents cmdobject as commandbutton

private sub form_load()

set cmdobject = form1.controls.add("vb.commandbutton", "cmdone")

cmdobject.visible = true


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11399376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存