Ricardo Santiago Cachero (RSC). Nov-1996/Jun-1999.
e-mail : rsantiag@teleline.es or rsantiago@worldonline.es
FormEdit v 2.8.2 for Delphi
Form edit has been developed to let you Design your Form in RUN-TIME. You can choose if you want to edit all form or only certain parts of it. This parts maybe panels or other "container" components, fr example scroll boxes, etc …
All what you must do, is place the FormEdit on your form and the EditMode property to True, and that´s all.
FormEdit has been designed to work on Delphi applications, and it never has been tested on C++Builder.
FormEdit has been tested on Delphi 3 and Delphi 4, the compiled version is not available for Delhi 1 and delphi 2.
The FormEditor
properties are :AutoSave : ( Boolean )
DesignComponent : ( TList )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 )
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 )
SelComponentCount : ( Integer )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 )
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 :OnClickContainer:
Notify when you click over a container. ( new for 2.8 )
OnDblClick:
Notify 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 :
InvertOutLine: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 )
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:
Version :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 )
Return the version string. ( new for v2.6.1 )
FormEdit Releases.
New in Version 2.6:
New In Version 2.8.1:- 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 CAN´T. 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.
New In Version 2.7.8:
- If you select more than one control by pressing Shit key with Left button, and try to move those control by clicking the mouse over one of the gray Dots, it doesn´t work. This bug is fixed ( Thanks to Sam Man ).
- A bug when destroy a window that contain the FormEdit component is fixed. ( Thanks to Peter N. Roos ).
New In Version 2.8:
- In the last version ( 2.7.8. ) when you add a component to DesignComponent list, no event was fired for Mouse Down. This bug is fixed ( Thanks to Benoit Doret )
- New OnClickContainer event.
- When OnDblClick event fires, always Component is Nil, this bug is fixed.
- When delete a object by pressing Del. the object was removed from his parent control list, but not for his owner component list. This bug is fixed.
- When click over a container which contain other containers ( GroupBox over a ScrollBox ), all components which is inside the GroupBox are selected. This bug is fixed ( Thanks to Benoit Doret )
- The Version method return 2.7.8 instead 2.8.
New In Version 2.8.2:- When you try to move an object/s and go out of the bounds of the container window, the rectangle used to show the possition was not erase. This bug is fixed. ( Thanks to David Allen).
- If you click over a container which have no controls inside, the OnClickContainer event was not fired. ( Thanks to Benoit Doret. )
You can download the latest version of FormEdit from :
http://www.geocities.com/rsantiag.geo/formedit.zip
This page was uptated on 9-II-2001.
This pages has been visited times.