этот метод, возможно, уже упоминался выше под его формальным именем, но я не знаю, это формальное имя, так что вот оно. Этот пример «расширяет» класс TextBox (пример в VB). Я считаю, что преимущество этого метода заключается в том, что вам не нужно явно кодировать или предоставлять встроенные члены. Надеюсь, что это актуально:
Модуль класса VB "MyTextBox":
public Base as TextBox, CustomProperty as Integer
Private Sub Init(newTextBox as TextBox)
Set Base = newTextBox
End Sub
public Property Get CustomProperty2() As String
CustomProperty2 = "Something special"
End Property
Чтобы позвонить по коду, вы можете сказать:
Dim MyBox as New MyTextBox
MyBox.Init MyForm.TextBox3
отсюда у вас есть доступ ко всем встроенным элементам, а также к вашим пользовательским элементам.
Debug.Print MyBox.Base.Text
MyBox.CustomProperty = 44
Для дополнительной полировки вы можете сделать Base свойством по умолчанию для класса, а затем опустить «Base», когда вызываете свойства Base класса. Вы называете членов Базы так:
Debug.Print MyBox().Text
MyBox().Text = "Hello World"
VBA Demo