*************************************************
*               Run-Time Designer               *
*                  ver 1.0 RC0                  *
*                                               *
*                     by                        *
*              Karl-Otto Rosenqvist             *
*                                               *
*     Copyright © 1998 Karl-Otto Rosenqvist     *
*************************************************


Thiss is a component that makes it possible to design at
run-time in a Delphi application, just like Delphi!
You can move an size any control without having to inherit
it and adding a lot of code.
This is the Release Candidate(!?!) 0 of this component and
it is totally free to use, no limitations what so ever, but
the source is not yet availible, not even for $$$ but it will
be.
Please use it for all kinds of design applications,
for example you can create a flow-chart app or a label
designer app and so on...

All questions and comments should be sent to:
towebo@hotmail.com

Copyright © 1998 Karl-Otto Rosenqvist

This is a CardWare, that means that I want YOU to send
me a postcard where you tell me what you think of RTDesigner
and what you are using it for.

Karl-Otto Rosenqvist
Teatervägen 17
260 83 VEJBYSTRAND
SWEDEN



Introduction
------------
To use this component, just drop it on a form and set
EditMode to True. All controls on the form will now be
moveable and sizeable during run-time.
If you want to restrict the editing to a panel or some
otheer TWinControl decendant just set BaseControl to the
specific control. If you want to set it back to the form
just blank the value and the TRTDesigner will set BaseControl
to its parent form.
If you want to restrict the editing in the BaseControl
a TRTDesigner has a property called AcceptedControl of
TList type where you add all the controls you want
should be editable.

Using RTDesigner
----------------
Follow the steps above and use the events availible.
Before processing a control check it with the
IsGrabHandle(aControl) so it isn't a GrabHandle (You
shouldn't try to save them or for that matter do any
thing with them!).

Here is the interface of the TRTDesigner:

TRTDesigner = class(TComponent)
Public
  Constructor Create(aOwner : TComponent); override;
  Destructor Destroy; override;
  Procedure AlignToGrid;
  Function IsGrabHandle(aControl : TControl) : Boolean; Check if a control is a grabhandle.
  Procedure SelectAll;
  Procedure SelectNone;
  Property AcceptedControls : TList;
  Property Controls : TList Read FControls; The selected controls will be in this lisst.
Published
  Property BaseControl : TWinControl;
  Property EditMode : Boolean;
  Property GridX : Integer;
  Property GridY : Integer;
  Property Options : TRTEOptions;
  Property OnAllowPopupMenu : TAllowPopupEvent;
  Property OnControlDblClick : TControlDblClick;
  Property OnEditModeChange : TNotifyEvent;
  Property OnBaseControlClick : TBaseCtlClickEvent;
  Property OnControlMouseDown : TCtrlMouseEvent;
  Property OnControlMouseUp : TCtrlMouseEvent;
  Property OnMovedControl : TNotifyEvent;
  Property OnSelectControl : TSelectControlEvent;
  Property OnSizedControl : TSizedEvent;
End;