Interfaces Provided by ActiveX Designers

ActiveX designers must support fundamental OLE interfaces, interact with the host, provide type information, persist their design-time and run-time components, and enable users to customize objects.

The following table lists the interfaces and APIs implemented by ActiveX designer objects:

Purpose Interface(s) Visual
Designer
Visual Run-
Time Object
Nonvisual Run-
Time Object
Register itself DllRegisterServer, DllUnregisterServer Required Required Required
Invoke object, properties, and methods IDispatch Required Required Required
Site and activate itself IOleObject Required Required Required
  IOleInPlaceObject Required Required Does not apply
IOleInPlaceActiveObject Required Required Does not apply
IQuickActivate Optional Optional Does not apply
Display an object IViewObject, IViewObject2, IViewObjectEx Optional Optional Does not apply
Create Instances DllGetClassObject, DllCanUnloadNow Required Required Required
  IClassFactory or IClassFactory2 Required Required Required
Supply type information IProvideClassInfo or IProvideDynamicClassInfo Required Required Required
Persist a designer IPersist, IPersistStorage, IPersistStream, or IPersistStreamInit Required Required Required
Access run-time object IActiveDesigner Optional Does not apply Does not apply
Handle events IConnectionPoint, IConectionPointContainer Optional Optional Optional
  IActiveDesignerRuntime Does not apply Optional Optional
View and change properties IPerPropertyBrowsing, IPropertyNotifySink, IPropertyPage, IPropertyPage2, ISpecifyPropertyPages Optional Does not apply Does not apply