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
Property Let DefaultProp(newValue As String)
Caption = newValue