问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB怎么加载控件,会的进来看一下

发布网友 发布时间:2022-04-23 04:36

我来回答

2个回答

热心网友 时间:2023-10-04 09:49

你好!
实现的代码及注解如下:
1、新建一个表单Form1;
2、在FORM1中放置一个按扭(Command),其名称如你所说为“按扭”(其实,一个好的习惯是对控件的名称为英文比较好);Index属性设定为0;
3、代码如下:
Dim oControl As Object '窗体级变量

Private Sub 按扭_Click(Index As Integer)

Dim I As Integer

Set oControl = Controls.Add("VB.label", "Label1")'产生一个标签Label1的控件
oControl.Left = 100
oControl.Top = 100
oControl.Caption = "Lanel1"
oControl.Visible = True '使控件可见

For I = 1 To 3'产生3个按扭
Load 按扭(I)
按扭(I).Caption = 按扭(0).Caption & Trim$(Str(I))
按扭(I).Left = 按扭(0).Left
按扭(I).Top = 按扭(0).Top + 按扭(0).Height * I
按扭(I).Visible = True
Next I

End Sub
祝你成功!

对问题的补充答:
上面是VB6.0的标准语法,不过该方法虽然现实了控件的动态加载,按钮显示在窗体上,可以象普通按钮一样按下去,但加载的控件不能预先设计响应事件代码,如:事件Sub MyButton_Click()将是非法的,当然,可以将要响应的事件封装在控件内部。就编程的观点来看该方法没什么大的用处,开发ActiveX控件的目的是为了资源共享,为了被其他开发人员利用,所以要提供必要的事件接口,显然利用该方法不行,通过分析VBControls等相关对象,找出VBControlExtender对象与EventInfo相结合能提供事件陷井捕捉,VBControlExtender对象对动态添加控件特别有用,它提供了一套通用的属性、方法、事件给开发人员,它的一个突出特点是能编程设计控件的事件,熟习类编程的朋友对带事件的对象声明一定不会陌生:
Dim WithEvents objElemt as CElemtVBControlExtender也不例外,声明的语法一样,只不过它有个特殊的事件ObjectEvent(Info As EventInfo),它能捕捉到对象使用RaiseEvent产生的所有事件,EventInfo数据结构映*事件的名称、参数个数和参数的值。VBControlExtender和 EventInfo相结合,采用Select Case 就可以预先将不同类对象的事件放置一起,各自独立运作。将上面的代码改写一下就能提供Click事件了:

Dim WithEvents oControl As VBControlExtender '带事件声明声明之后您就可以在代码窗口的左上角的对象下拉框中发现该对象出现了,也就是说,该对象有了事件或方法了,它的事件有DragDrop,DragOver ,LostFocus ,GotFocus ,ObjectEvent和Validate,其中ObjectEvent是通用的事件捕捉。

Private Sub LoadControl()
Set oControl = Controls.Add
("VB. CommandButton", "MyButton")
oControl.Visible = True
End Sub

Private Sub oControl_ObjectEvent(Info As EventInfo)
Select Case Info.Name
Case "Click" 'Click事件
'您可以添加处理Click事件代码
MsgBox "您按了MyButton!"
Case Else ' 其他事件
' Handle unknown events here.
End Select
End Sub

热心网友 时间:2023-10-04 09:50

做成一个控件数组。只要初始有一个下标为 0 的控件,隐藏起来。那后面再加载就简单得多了。只需要:
load 控件名(控件名.UBound+1)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑分辨率设置多少合适笔记本电脑分辨率多少最佳 各尺寸笔记本电脑的最佳分辨率 2022年高考480到510分能上山东科技大学吗 朋友借了我一万块钱,现在坐牢了怎么还钱? 天王星和海王星虽然看似一对姊妹星,但还是有区别 ...值得收藏吗?现在分别只都多少钱,照片上有一个铜币的 谁能告诉我这是一枚什么样的铜币,值不值钱? 有谁知道这铜币值不值钱,懂家告诉我一下!谢谢 有谁知道这个铜钱的来历 可以进行异地公积金贷款吗 京东商铺运营和美工的工作烦恼。 如何在VB窗体中用代码添加控件 京东商城怎么删除发票啊?我送人东西了,不想带发票。 京东商家如何优化主图? vb 控件组该怎么添加 VB如何添加标签控件 京东商家如何避免他图片侵权? vb 怎么添加自己做的控件 京东首页海报和主图区别 VB中怎么加入如下图的这样的有多个标签的控件 VB中的mscomm控件怎么添加啊 苹果xs手机拍出来的照片是黑的怎么回事?如何解决? 如何vb中动态添加控件 iphone照片变黑是怎么回事? 京东店铺模板设计师修改之后上架,商家在已添加的模板怎么使用? 苹果手机拍出来的照片是黑的怎么回事? 京东店铺上新Tab怎么设置? 怎么苹果手机一拍照就黑屏 京东店铺海报在哪看啊? 苹果手机照相机黑屏怎么办? 京东商家入驻现在审核中,怎么取消掉 vb中如何动态添加删除控件 vb 用命令创建控件 VB如何给窗体加控件 VB添加控件到选项卡 Vb中自动添加控件 VB怎么添加标签页式的控件 v搜是什么软件 微搜索是什么 微搜的优势 微搜信索栏在哪? 武汉微搜信息科技有限公司怎么样? 广州微搜网络技术有限公司怎么样? 济南微搜信息技术有限公司怎么样? 沈阳微搜信息技术有限公司怎么样? 天津微搜网络科技有限公司怎么样? 深圳市微搜天下科技有限公司怎么样? Visio 用中文怎么读?有人说读”微搜“、有也有读”威手“,但似乎不妥。 企微搜题是哪方面的搜题 河北微搜网络技术有限公司:什么是网站推广