                        Ricardo Santiago Cachero (RSC). Nov-1996/Feb-1998.
                        --------------------------------------------------
e-mail : rsantiag@sp-editores.es
         ISABELMC28@smail.ocefss.ucm.es

FormEditor v 2.7.7 for Delphi
*****************************

   Forms editor to Design you Form in RUN-TIME.
   This component let you to design a form or a part of form like
   Panels, or any other object wich can contain other components.

   You must put FormEditor directly on the from Form and put EditMode
   to True, if you dont use DesignComponent property, all Form is in
   DesignMode.

   The FormEditor properties are :

       AutoSave : ( Boolean )
	    If this property is True the changes are saved on disk, and
            will be restored next time the form is Showed. ( new for 2.6 )

       DesignComponent : ( TList )
            Define the list of parents components who can be edited.
            Run-Time Only.

       EditMode: ( Boolean )
            Change between EditMode and RunMode.

       FileName : ( String )
            Define the file name where save the changes. ( new for v2.6.1 )

       PopupMenu : ( TPopupMenu )
            define the popupmenu to display when press right button of
            mouse . If the popupmenu is nil, when press right button and
            OnRightClick is define, this event is called. ( new for 2.1 )

       SelComponentCount : ( Integer )
	   Read and Run-Time only. Numbers of component selected.
           ( new for 2.6.1 )

       SelectedComponent : Component selected. Read and Run-Time Only
           ( new for v.2.3 )

       XGRID and YGRID : ( Integer )
            define the distance in pixels of the virtual
            grid to adjust components.


   The FormEditor Events are :
       OnDblClick:
            Notiby when you make Double click over a control.
            ( new for 2.7.7 )

       OnDeleteObject:
            Notify BEFORE you delete a object or objects.
            ( new for 2.7.1 )

            You can say if FormEdit delete the object or not,
            throught CanDelete var, default value is False. ( new for 2.7.3 )

       OnSelectMouseUp:
            Notify when you select a object and left button mouse is up.
            ( new for 2.7.1 )

       OnSelectObject :
            Notify when you select a object.

            ATTENTION, NEW feature for 2.7.7:
            Until now, all times that select a control the OnSelectObject
            fires, but now if you assign the OnDblClick event, only fires
            the first time you select the same object.

       OnMovingOnject :
            Notify when a component is moving.

       OnRightClick :
           Notify when click the right button of mouse.

   The FormEditor Methods are:

       AlignBotton : Align botton all selected components. ( new for v2.1)

       AlignHCenter : Align center horizontaly all selected
                      components. ( new for v2.1)

       AlignLeft :  Align left all selected components. ( new for v2.1)

       AlignRight : Align right all selected components. ( new for v2.1)

       AlignTop : Align top all selected components. ( new for v2.1)

       AlignVCenter : Align center verticaly all selected
                      components. ( new for v2.1)

       ClearList:  Clear the list of current selected components;
                   ( new for v2.7.7 )

       DesignLayout : Activate the layout that you create in Delphi IDE.
 		      The next time that window is create appear the original
                      layout.
  		      ( new for v2.6.1 )

       InvertOutLine: Show/Hide outline for selected object.
                      ( new for v2.7.3 )


       Refresh: Refresh FormEdit objets coordinates. ( new for v2.7.3 )


       SelectComponents : Select the components which are in TList
                          parameters. ( new for v2.7.1 )

       SelectedListComponent: Return the list of all component selected.
                     You must supply a Tlist component how fisrt parameter,
		     and FormEdit fill it with the list of selected
		     components. ( new for v2.7.1 )

       Version : Return the version string. ( new for v2.6.1 )

New in Version 2.6:

	- Bug fixed when try to moving a component that previously is
          selected.

	- Bug fixed when press Tab key and EditMode is False.

	- Now only one instance of Form Edit is allowed in a Form.

	- Now you can save the last changes and the next time the form is
	  Showed you can view this changes.

New in Version 2.6.1:

	- Bug fixed when insert controls in run-time the z-order position
          of Dots.

	- Bug fixed when try to set focus to a disabled or invisible control.

	- Bug fixed when press tab key and fire OnselectObject event.

	- Bug fixed when try to access to SelectedComponent when no
          component is selected.

	- Bug fixed when use Align method and try to move to new position.

	- Add DesignLayout Method.

	- Add Version Method.

	- Add FileName property.

	- Add SelComponentCount property.

	- Add capacity to del control with Del key.

New In Version 2.7:

	- Now you can select one component when several component are
	  overlaped.

New In Version 2.7.1:

	- Now you are notifyed when Left Button mouse is up when you
          select a component and Before delete a component.

	- Now you can get a list of all components selected.

	- Now you can select components from you program.

New In Version 2.7.2:

	- Some little bug from v2.7.1 are fixed. ()

New In Version 2.7.3:

	- Two new methods Refresh and InvertOutLine

	- Now before you delete an object or objects if OnDeleteObject
          event are defined, you can say if it can delete or not.

New In Version 2.7.4:

	- When right button is pressed over a Dot, the application go to
	  spleep forever. This bug is fixed. ( Thanks to Sam Conn )

	- If you try to press left button nearest of Dots, which let you
	  resize the components, GPF was generated. ( Thanks to Sam Conn )

	- If change the coordinates of any component and then use Refresh
          method, the outline is not updated. Now this bug is fixed.
	  ( Thanks to Sam Conn )

	- If you assign a OnDeleteObject event, FormEdit cause GPF, this
          bug is fixed. ( Thanks to Andr Murta ).

New In version 2.7.5:

	- When right click on any component and return from event, cause
          GPF, This bug is fixed. ( Thanks to Konstantin Scherbakov ).

	- If a panel or other component which can be align to client
          area of the form is selected and then resize the form, cause
          GPF, this bug is fixed.  ( Thanks to Konstantin Scherbakov ).

	- If you try to add new control in your program and immediately
          select it then control change self location. This bug is fixed.
	  ( Thanks to Konstantin Scherbakov ).

	- If you change the directory in run-time and AutoSave property
          is true, the .RFE file is saved on the last directory used. This
          bug is fixed, now save all .RFE files on the Exe filepath.
          ( Thanks to Konstantin Scherbakov ).

        - When receive OnMovingObject, sender and component parameters
          are always nil. This bug is fixed.
          ( Thanks to Konstantin Scherbakov ).

        - All events are checked for correct sender and component
          parameters.

	- If you have three components, Labe1 is under Shape1, and Label2
          is under Shape1 too, if you select label1 clicked over Shape1,
          and try to select label2 clicked over Shape1 too, Label2 is never
	  selected. This bug is fixed. ( Thanks to Konstantin Scherbakov ).

New In version 2.7.6:

	- When you click on a ListBox (or other component with similar
          features) and try to select a item which is over an area
          that is in edit mode, the item is not selected and select the
          component which is under the item. This bug is fixed.

	- When we have 2 panels or other component which can contain
          others controls, and 1 panel are over the other, only controls
          of 1 panel can move and resize. This bug is fixed.
          ( Thanks to John Loren ).

	- If you press Delete key, even if FormEdit if off, the event for
          this action was fired, and never can delete text in an edit
          control for example. This bug is fixed. ( Thanks to Sam Conn )

New In version 2.7.7:

        - If you try to resize a control and the new right/bottom corner
          is minor than left/top corner, then the  new width and height
          properties are 0. This bug is fixed ( Thanks to Glenn Stephens )

        - If try to move a Disabled control, YOU CANT. This bug is fixed
          ( Thanks to Tom Van den Eynde )

        - The method used to find the window container for the clicked
          control was changed.

        - New OnDblClick event and modified the behavior of OnSelectObject
          ( please read the events section of this File )

        - New method that let clear the list of current selected components.

        - Some methods was optimized to get faster and fix some little bugs.

        - Now you can select components with mouse. Make a rectangle with
          the mouse over the Form or other control that is in edit mode.


See IMPORTAN.TXT file.