代码之家  ›  专栏  ›  技术社区  ›  pavanred

vb6中动态控件的事件处理

  •  4
  • pavanred  · 技术社区  · 15 年前

    如何在vb6中实现动态控件的事件处理?有什么想法吗?

    2 回复  |  直到 8 年前
        1
  •  2
  •   MarkJ    15 年前

    最简单的方法是声明与控件类型相同的模块级变量,并使用 WithEvents 关键字。例如

    Option Explicit
    ' Declare object variable as CommandButton and handle the events.'
    Private WithEvents cmdObject As CommandButton 
    
    Private Sub Form_Load()
       'Add button control and keep a reference in the WithEvents variable'
       Set cmdObject = Form1.Controls.Add("VB.CommandButton", "cmdOne")
       cmdObject.Visible = True
       cmdObject.Caption = "Dynamic CommandButton"
    End Sub
    
    'Handle the events of the dynamically-added control'
    Private Sub cmdObject_Click()
        Print "This is a dynamically added control"
    End Sub
    

    如果您希望能够通过一个中心例程处理来自许多不同控件(可能是不同类型的控件)的事件,则会有更复杂的变化。

        2
  •  2
  •   GSerg    15 年前

    这取决于控件是否为内部控件。

    This 文章对此进行了解释。