The TObjectInspector is a Delphi component that serves as both an object inspector and a design form rolled into a
single component. The TObjectInspector works on virtually all visual controls descended from TControl and supports
most first level String, Integer, Boolean, Float, and Enumerated type properties. Additionally, the TObjectInspector
supports the TFont, TColor, and TStrings class properties.
TObjectInspector is very easy to use and turns just about any form into a user configurable form in just minutes. Merely
set the TObjectInspector's Form property to a form that you want to edit, execute the TObjectInspector, and your form
will then be "recreated" as the TObjectInspector's design form.
The design form can then be manipulated by using either the TObjectInspector's property grid, by dragging and sizing
with the stretch handles, or by cutting, copying, and deleting controls directly from the design form.
The TObjectInspector also provides great control over the type of editing that will be allowed. You can set the
SupportedProperties to a list of properties to be included in the property grid or set the UnsupportedProperties to
a list of properties that will always be excluded from the property grid. The UneditableProperties can be set to a
list of properties that should be viewable in the property grid, but should never be editable. And finally, populate
BitmaskProps to create a list of bitmask properties that correspond to a control's tag property and can be used to
prevent specific properties from being edited on individual controls.
Several event handlers are also included in the TObjectInspector. Use the OnBeforeDelete, OnBeforeCut, OnBeforeCopy,
and OnBeforePaste events to manage how users are allowed to manipulate controls as events are firing. The
OnCreateControl event gives you a way of handling new controls as they are being created.
The TObjectInspector also gives you control over the design form's properties. Set the GridX, GridY, DisplayGrid and
SnapToGrid properties to change the look of the design form and how the controls respond when they are moved and sized.
After editing a form, the resulting DFM can be saved using the either the
TDFMMerger or the TADODFMMerger. The
TDFMMerger may also be used to merge a form with a saved DFM for the purpose of reconstituting the customizations
previously made to a form with the current version of the form. The TDFMMerger can also "auto-load" a DFM from a file
or a database and then save the DFM via internal methods derived from the TStrings and TQuery objects.