Добрый день.
Возникла необходимость динамически создавать различные контролы на форме и обрабатывать события.
На примере listbox:
Создан класс clControlEvents:
В основном модуле элементы добавляются на форму так:
Проблема в том, что события ctrl_Change, ctrl_DblClick, ctrl_Click никогда не возникают
Подскажите, что я упускаю?
Возникла необходимость динамически создавать различные контролы на форме и обрабатывать события.
На примере listbox:
Создан класс clControlEvents:
Код |
---|
Option Explicit Public WithEvents ctrl As MSForms.ListBox 'Public Event Click() 'Public Event Change() 'Public Event DblClick(ByVal Cancel As MSForms.ReturnBoolean) Private Sub ctrl_Change() MsgBox ctrl.name & " change" End Sub Private Sub ctrl_DblClick(ByVal Cancel As MSForms.ReturnBoolean) MsgBox ctrl.name & " DblClic" End Sub Public Sub ctrl_Click() MsgBox ctrl.name & " Click" End Sub Public Sub CreateListBox(owner As MSForms.Control) Set ctrl = owner.Controls.Add("Forms.ListBox.1") End Sub |
Код |
---|
Dim lbEvent As clControlEvents Set lbEvent = New clControlEvents lbEvent.CreateListBox p |
Проблема в том, что события ctrl_Change, ctrl_DblClick, ctrl_Click никогда не возникают
Подскажите, что я упускаю?