我有一个vb6控件文件(示例。CTL)文件,我的要求是在运行时更改此文件的属性…基本上是一些批量操作…(更改所有CTL文件的属性)
这个ctl文件是项目的一部分。
是否可以更改属性height = 100
width = 200
background = white
font = calibri
通过代码,例如使用批处理文件或c#或vb ??有没有现成的工具?
ctl文件只存在于您的开发环境中。一旦编译到应用程序中,它们就成为编译输出的一部分,并且您只能修改根据控制文件中定义的规则实例化的对象的属性。
如果每个控件都将高度、宽度和背景字体作为属性公开,那么您将能够在运行时以您希望的方式操作控件。如果您有一个希望以这种方式操作的控件对象列表,您可以创建它们的列表并遍历它们。
我使用自定义VB6 IDE插件来获取对vide . vbe的引用。然后,在直接窗口或公共函数中,可以用代码操作所有加载项目中的所有模块。
注册GetVBERef.dll
,在VB6 IDE中加载Get VBE Reference
插件,从zip中打开Project2.vbp
并在即时窗口中键入:
For Each oCmp In VBERef.ActiveVBProject.VBComponents: ? oCmp.Name: Next
(您将获得Module2
,因为Project2
中没有更多内容)
您可以在项目中复制/粘贴Module2
的代码,并添加对Microsoft Visual Basic 6.0 Extensibility
的引用。只要稍微试一下& &;你可以编写一个公共函数(例如在同一个模块中)来调整所有用户控件的大小或设置项目组中所有表单的颜色,字体等。