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.dcp
in the Package name field. - Once you click OK, you should see a
designide.dcp
file 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 | |
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; |