用程序动态地在窗体上添加控件
我们可以通过程序在窗体上添加控件:Private Sub UserForm_Click()
Dim check As MSForms.CheckBox
Set check = Me.Controls.Add("Forms.CheckBox.1", "CheckBox1", True)
check.Caption = "明经通道"
End Sub
当然也可以是其它控件,其它控件之ProgID 值如下:
复选框 Forms.CheckBox.1
组合框 Forms.ComboBox.1
命令按钮 Forms.CommandButton.1
框架 Forms.Frame.1
图像 Forms.Image.1
标签 Forms.Label.1
列表框 Forms.ListBox.1
多页 Forms.MultiPage.1
选项按钮 Forms.OptionButton.1
滚动条 Forms.ScrollBar.1
数值调节钮 Forms.SpinButton.1
TabStrip Forms.TabStrip.1
文本框 Forms.TextBox.1
切换按钮 Forms.ToggleButton.1
Muitipage怎么把控件从PAGE1复制PAGE2?
page1和page2上的控件一样,我怎样在做好page1上的控件后,全部复制到PAGE2,复制完后该怎样访问他们?谢谢版主! 想想你这样做有什么意义?
如果程序要求有固定样式的控件,就不必通过程序来加上,而是在做窗体时加上。 可是我PAGE1上有10多个控件,如果page2上能在程序里加载的话,那会方便的多,
而且我想通过数组来访问的话,程序也好写.而且PAGE2如果本来就是要动态增加的话,那就必须动态加载控件了.
多谢指点! 其实使用动态添加控件是不想不出办法的情况下才做的。
你的情况其实可以使用列表框或组合框来做,何必动态增加控件,因为动态添加控件还要考虑到增加的控件的排列等问题,不是那么简单的可以控件得好。 可是我事先不知道有几页,用户可以增加页,那样的话,就必须动态加载.
帮主说的位置问题,如果能过用控件数组的话,就可以搞定.但我又搞不懂VBA的控件数组能不能用,VB是好做的. 如果我就不会这样做了。
你可以在窗体上加个下拉列表框,因为你有多页,而且页数不定,用这个下拉列表可以列出所有的页出来。
因为每页的内容都一样,所以选定指定页时,窗体下的控件中的内容会随着不同的页而变化。
如果动态增加,会给后继的编程带有很大的不定数。 能不能使用DLL在VBA的窗体上创建对象?
一个lable就行了,用于版本申明,即使密码给了别人,让别人也改不了。 另外对象创建到窗体上如何定位? 其实,使用动态方式的情况应该在程序中尽量避免才对。所以斑竹并不推荐你使用这种方法。
我在编程的很多时候,我都会有些比较偷懒的做法。比如减少一些不容易实现的功能;简化一些繁琐的效果。
有时不要太苛求完美。
某些情况下,让用户更早的用上可能会更重要些。
页:
[1]
2