DesignIntf
DesignIntf defines the interfaces and classes used by the property editors in the IDE.
RAD Studio gives you the chance to use DesignIntf from a package or a DLL source. Below you can find the best approach to use it in both cases.
Contents
Using DesignIntf from a Package.
As IDE plugins are mostly packages, and they use DesignIntf unit, the most common way to use it is to add the designide file to the Requires folder, as shown below:
- In the Projects window, expand the Package1.bpl node.
- Right-click the Requires file and select Add Reference…
- When the Add window opens, type
designide.dcpin the Package name field. - Once you click OK, you should see a
designide.dcpfile created below the Requires file.
After adding the package name, the compiler automatically recognizes that your package uses the designide package.
Using DesignIntf from a DLL.
To use the DesignIntf and DesignEditors units from a DLL with Delphi, you need to link to the designide package. To link it successfully, add the –LUDesignIDE to the Compiler options:
- In the menu bar, click Project and select Options to open the Project Options dialog box.
- Under Delphi Compiler, select Compiling.
- Under the Other options section, look for Additional options to pass to the compiler, and type
–LUDesignIDE.
With C++, you need to ensure that $(BDS)\include\windows\vcl\design is added to the INCLUDE path and that the designide.bpi is added to the Requires folder of your package.
For more information, see the comments in the source; the DesignIntf.pas source file is liberally commented.
Classes
| IActivatable | Represents a component that can be activated. |
| IClass | Provides access to class metadata. |
| IComponentEditor | IComponentEditor is the interface that the form designer uses to communicate with component editors. |
| IComponentGuidelines | Provides access to the guidelines for visual components. |
| ICustomModule | Represents a custom module. |
| IDefaultEditor | Represents a default editor. |
| IDesignEditQuery | Provides access to editing operations. |
| IDesigner | IDesigner is an interface to the form designer in the IDE. |
| IDesigner100 | IDesigner100 is an interface to the form designer in the IDE. |
| IDesigner170 | |
| IDesigner200 | |
| IDesigner290 | |
| IDesigner60 | IDesigner60 is an interface to the form designer in the IDE. |
| IDesigner70 | IDesigner70 is an interface to the form designer in the IDE. |
| IDesigner80 | IDesigner80 is an interface to the form designer in the IDE. |
| IDesignerSelections | IDesignerSelections represents a list of persistent objects. |
| IDesignNotification | Represents a notification from the IDE when a specific event occurs. |
| IDesignNotificationEx | |
| IDesignNotificationViews | |
| IDesignObject | Represents an object on the form designer. |
| IDesignPersistent | Represents a persistent object used by the designer. |
| IDesignWindow | Represents a design window that appears in the IDE. |
| IEditHandler | Provides access to editing operations. |
| IEventInfo | Holds type information about an event. |
| IHostForm | Represents a host form for a custom designer. |
| IImplementation | Provides access to the instance of a class. |
| IMethodProperty | Represents a method property. |
| IProperty | IProperty is the interface that the Object Inspector uses to communicate with property editors. |
| IProperty160 | |
| IProperty70 | Represents a property. |
| IProperty80 | Represents a property. |
| IPropertyControl | Provides control to the data of a property. |
| IPropertyDescription | Allows you to add descriptions to the property. |
| IPropertyHost | Provides access to a drop-down property control. |
| IPropertyHost20 | Provides access to a drop-down property control. |
| IPropertyKind | Provides access to the type of the property. |
| IReferenceProperty | Represents a property whose value is another component on the form. |
| ISelectionEditor | Provides support for editing components selected in the form designer. |
| ISelectionEditorList | Represents a list of ISelectionEditors. |
| ISelectionPropertyFilter | Provides support for filtering the list of properties for a selection to be sent to the Object Inspector. |
| IShowReferenceProperty | |
| IWideProperty | Represents a wide string property. |
| IWideProperty10 | Represents an extension to the IWideProperty interface. |
| IWidePropertyDescription | Provides support to obtain the description of a property. |
| TBaseComponentEditor | TBaseComponentEditor is the base class for all component editors. |
| TBaseComponentGuidelines | TBaseComponentGuidelines is the base class for component guidelines classes. |
| TBaseCustomModule | Base class for custom modules. |
| TBasePropertyEditor | TBasePropertyEditor is the base class for all property editors. |
| TBaseSelectionEditor | Base class for selection editor classes. |
| TClassWrapper | Base wrapper for IClass. |
| TComponentEditorClass | Class of TBaseComponentEditor. |
| TComponentGuidelinesClass | Class of TBaseComponentGuidelines. |
| TCustomModuleClass | Class of TBaseCustomModule. |
| TDesignerSelections | TDesignerSelections maintains a list of persistent objects. |
| TDragTarget | Provides support for drag-and-drop operations. |
| TDragTargetClass | Class of TDragTarget. |
| TEventInfo | Represents the type information for an event. |
| TPropertyEditorClass | Class of TBasePropertyEditor. |
| TSelectionEditorClass | Class of TBaseSelectionEditor. |
Routines
| CreateSelectionList | |
| EnableDemandLoadReport | |
| ForceDemandLoadState | Specifies whether the IDE should use smart loading of registered components. |
| PersistentToDesignObject | |
| RegisterComponentEditor | Registers an editor so that it is available at design time. |
| RegisterComponentGuidelines | |
| RegisterCustomModule | |
| RegisterDesignDragObject | |
| RegisterDesignNotification | |
| RegisterDragTarget | |
| RegisterIDropTarget | |
| RegisterPropertiesInCategory | Registers multiple properties in a specific property category. |
| RegisterPropertyEditor | Allows a component to bring up a custom property editor from the Object Inspector. |
| RegisterPropertyInCategory | Registers a single property in a specific property category. |
| RegisterPropertyMapper | |
| RegisterSelectionEditor | |
| SetPropertyEditorGroup | |
| UnlistPublishedProperty | |
| UnregisterDesignNotification |
Types
Variables
Constants
| MaxIdentLength | MaxIdentLength: Integer = $3F; |



