If the visual designer creates a different run-time object, you should implement IActiveDesigner, which provides information about the run-time object. IActiveDesigner also includes a method that provides access to the designer's programmability object (an IDispatch interface) for add-ins.
To allow end users to view and change properties, the designer may supply IPerPropertyBrowsing and ISpecifyPropertyPages. Supporting a property browser is strongly recommended, though it is not required.
The designer may also choose to implement IOleControl; IViewObject, IViewObject2 and IViewObjectEx; IQuickActivate; and any other interfaces.