Event handling for dynamic controls in VB6

后端 未结 2 843
天涯浪人
天涯浪人 2021-01-03 05:53

How can i achieve event handling for dynamic controls in VB6? Any ideas?

2条回答
  •  离开以前
    2021-01-03 06:17

    The easiest way is to declare a module-level variable of the same type as the control, and use the WithEvents keyword. For example

    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
    

    There are more complicated variations if you want to be able to handle events from many different controls, perhaps of different types, through one central routine.

提交回复
热议问题