个人家园,纯属虚构

关于在VB中动态加载控件的方法

上一篇 / 下一篇  2008-04-03 10:51:58 / 天气: 阴雨 / 心情: 郁闷 / 个人分类:程序学习

动态加载控件,有诸多好处,
以前以为,只有在VC中才能动态加载控件,而在VB中,只能定义一个数组,然后采用Load方式加载。近日编码,才发现,原来VB中也可以方便的动态加载。

举例子总结一下,免得以后到处查:

1:动态加载VB固有的控件。
如:加载一个文本框
    Controls.Add "VB.TextBox", "txtDynamic", Me
    With Me!txtDynamic
        .Visible = True
        .Width = 2000
        .Text = "0"
    End With

2:如何绑定事件呢?
Private WithEvents txtTest As TextBox
Set txtTest = Me!txtDynamic
Private Sub txtTest_KeyPress(KeyAscii As Integer)
    
End Sub

3:动态加载自定义控件。注意,一定需要License。
   Licenses.Add "Project2.UserControl1", "kaghfadhghlaahnhigaaohaaogjgmaehoanb"
   Set ctlExtender = Controls.Add("Project2.UserControl1", "MyControl")
   With ctlExtender
      .Visible = True
      .Top = 1000
      .Left = 1000
   End With


4:那么,自定义控件如何生成License?
1:工程属性页>>General  Require license key 勾上。
2: 打开生成的VBL文件,第二行中有Key。一看便知。


5:如何绑定自定义控件的事件呢?
Private WithEvents ctlExtender As VBControlExtender
Private Sub ctlExtender_ObjectEvent(Info As EventInfo)
    Debug.Print Info.Name
End Sub
嗯,参数怎么取?
如:自定义控件的事件为:
Public Event EditChange(ByVal Param1 As String)
取参数就是:
Info.EventParameters("Param1")

6:对了,有License的自定义控件不动态加载,直接使用,需要License吗,如何注册?
需要。 把VBL文件当作reg文件注册一下就好了。

转载自:http://blog.csdn.net/tiger119/archive/2006/04/10/658086.aspx


TAG: vb

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-06  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 262
  • 日志数: 25
  • 图片数: 1
  • 文件数: 3
  • 建立时间: 2008-02-25
  • 更新时间: 2008-10-20

RSS订阅

Open Toolbar