Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Oct 6, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Combine Default attribute with other attributes

When building an ActiveX control, you can set a default property or method using the Procedure Attributes dialog box, after clicking on the Advanced button. However, if your default property also happens to require another special attribute - as is the case with Caption and Text properties-you're in trouble because the Procedure ID combo box only permits one selection.

Suppose your ActiveX control exposes a Caption property you want to behave as a regular property. For example, all keys typed in the Property window are immediately reflected in the control itself. In order to achieve this behavior, assign the Caption attribute to this property in the Procedure ID combo box. If you also want to make it the default property, you must resort to a trick: declare another, hidden property that delegates to your Caption property, and set this new property as the default member of the ActiveX control. The name of this property is not important because the user never sees it:

Property Get DefaultProp() As String
    DefaultProp = Caption
End Property
Property Let DefaultProp(newValue As String)
    Caption = newValue
End Property

Francesco Balena
Thanks for your registration, follow us on our social networks to keep up-to-date