VB动态添加控件的问题

VB动态添加控件的问题,第1张

概述之前曾经写过关于在VB6动态添加可执行代码的文章 http://www.voidcn.com/article/p-bupaewfj-be.html 也有关于纯代码设计程序的文章 http://www.voidcn.com/article/p-kzzlygyu-be.html   下面我们就谈谈关于动态添加组件的。 动态添加内部控件,正如【纯代码设计】一文中提到,可以用Controls合集的Add方

之前曾经写过关于在VB6动态添加可执行代码的文章

http://www.jb51.cc/article/p-bupaewfj-be.html

也有关于纯代码设计程序的文章

http://www.jb51.cc/article/p-kzzlygyu-be.html

下面我们就谈谈关于动态添加组件的。

动态添加内部控件,正如【纯代码设计】一文中提到,可以用Controls合集的Add方法,对于外部引用,则可以使用CreateObject方法

后者对网页开发的ASP程序员来说,相当熟悉。不过该方法有个问题:就是必须先知道【库】和【类】,比如:

动态添加TreeVIEw不能用如下代码:

Set tv = CreateObject("MSComctllib.TreeVIEw")


而应该这么写:

Set tv = CreateObject("MSComctllib.TreeCtrl.2")


否则因为找不到类而无法创建对象。为了更好的稳定性,我们使用Controls的Add方法,比如添加一个CommonDialog控件

用于实现打开、保存、字体及打印机等的对话框,很常见很实用。

Set cd = Me.Controls.Add("MSComDlg.CommonDialog","cd")cd.Flags = cdlCFBoth Or cdlCFEffectscd.CancelError = True


前面的Set cd = 可以不要,当然后面的也该同时去掉。

然而,有时候会出现一些错误,这些错误不是因为找不到已注册的类,而是另外的,如

英文牛×的可以看得出来,不过我相信很多人还是不太明白,这个错误在MSDN是没有相关帮助的。解决方法如下

在【工程(Project)】->【×××属性(×××PropertIEs)】,选择【生成(Make)】选项卡,最下方去掉Remove information about unused ActiveX Controls前面的勾勾,即可。

中文版显示的是 移除未使用的ActiveX控件信息 之类的,不过我推荐大家使用英文版,我计划参加的CCIE考试是全英文的,头痛 总结

以上是内存溢出为你收集整理的VB动态添加控件的问题全部内容,希望文章能够帮你解决VB动态添加控件的问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/langs/1291252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存