DFMEdit - Forms

I. Main-Form
II. Add/Modify-Form
III. Preview / Menu-Editor
IV. Objectinspector
V. Component-Palette
VI. Options

I. Main-Form


  1. Toolbar and Mainmenu
  2. Object-list
  3. Treeview
  4. basic object/property-manipulation
  5. Search node
  6. Statusbar
  7. Button for importing text from source-memo
  8. Sourcememo (output-memo)
  9. Search/Replace
1. Toolbar and Mainmenu / Key bindings
icondescriptionshortcut
creating a new formCtrl+N
open existing DFM-fileCtrl+O
converting multiple files from binary to text and vice versaCtrl+Shift+C
load a DFM-definition from an exe or dllCtrl+R
indicates that loaded form is binary or not, also used for saving (not for lfm)Ctrl+B
save DFM-file (different options in menu)generate from tree: Ctrl+S
save output: Ctrl+Alt+S
saving DFM back to binary: Ctrl+Shift+S
create or modify pas-file (unit)Ctrl+U
generate runtime-code from selected dfm-nodeCtrl+G
generate DFM-data for preview and show the formCtrl+P
show form using DFM-data in output-memoCtrl+Shift+P
if activated set (tab)visible-property for all components in preview to trueCtrl+H
if activated set enabled-property for all components in preview to trueCtrl+E
add a new component in the selectedIns
add new property for selected component/itemCtrl+Ins
add new subitem (TCollection), e.g. used for TStatusbar.panelsShift+Ins
edit selected component/propertyReturn
delete selected component/propertyDel
move selected component/property/item 1 step upCtrl+Up
move selected component/property/item 1 step downCtrl+Down
move selected component/property/item to first possible positionCtrl+Shift+Up
move selected component/property/item to last possible positionCtrl+Shift+Down
show Menu-EditorCtrl+M
remove unwanted propertiesCtrl+Shift+U
check for newer versions (click on arrow to check also for new beta-versions)Ctrl+I
show program-informations or helpfileShift+F1 / F1
show options-dialogCtrl+Alt+O
Shortcuts without toolbar-button
 search again (in memo)F3
 Select all (in memo)Ctrl+A
 delete selected control (in preview)Del
 insert new control (in preview)Ins
 copy selected control (in preview)Ctrl+C
 cut selected control (in preview)Ctrl+X
 paste cutted/copied control (in preview)Ctrl+V
2. Object-list
This list is similar to the List in delphi's object-inspector, containing all objects of current form.
Select an entry to jump to the corresponding treenode.
If Preview is visible, the component a control and visible then it will be selected in preview

3: Treeview
The Treeview shows the hierarchic structure of the form.
You can select an node to access the specific functions (objects can contain properties and sub-objects).
The parent-property of objects is not stored in DFM, it is defined by structure, change it by dragging an object-node to another object.
Moving objects in the same level will change the order of creation. If you have overlapping objects the last created is on top.

4. basic object/property-manipulation
This is for textual direct-editing (componentname/-type, propertyname/-value)

5. search node
here you can search for a node with partial text

6. Statusbar
shows the filename current dfm-definition
the second panel gets a progressbar when generating dfm-data (for saving and preview)

7. Button for importing text from source-memo
this is for those who want to writing or pasting a dfm-definition to source-memo and importing this to treeview

8. Sourcememo (output-memo)
the both memos holding dfm-data which is loaded from file, pasted, written by hand (source-memo) or generated by dfmedit (output-memo).
there are some hints for writing/editing:

9. Search/Replace
this Pagecontrol holds controls for

II. Add/Modify-Form

componentset-propertyenum-types
 

Colors

Cursors
single image-Propertiesimagelists

Adding Components (screenshot #1):
if dfmedit knows the class it displays the inheritance hierarchy in a multiline textfield below the class.
you can create multiple components in 1 step, change the field "count"
dfmedit can also add/change the caption-property of each created component to its name, simply set the checkbox

edit basic properties
to change integer-values
to edit multiline-strings
to display a colordialog
edit images
Select a image you want to assign to the image
Save currently loaded image to a file
create dfm-data of the image loaded
edit imagelists
adding a new image to the list
deleting image defined by the single spinedit (first image = index 0)
clear all images in imagelist
Save image defined by the single spinedit to a file
move image with index of the first spinedit to the position in spinedit 2
swapping 2 images defined by the 2 spinedits
create dfm-data of the imagelist
Hint: When editing imagelists: click on a image to get its index to the active spinedit
Note: You have to create DFM-data first before you click "OK" else the image/imagelist is not be changed!

III. Preview / Menu-Editor

Preview:

This form is used to show your loaded form.
Clicking on a control adds blue size-handles and selects the object-node in treeview.
You can select multiple controls pressing the shift-key while selecting

In the Form-preview you can do several things: Note: This form is not updated when you change something in treeview!

You have a popupmenu that appears on rightclick: On Multiselection:
if all selected controls are the same class you can set all the properties from this class
for all controls except the name-property.
if the classes do not match you can only set height,left,top and width for all controls

Menu-Editor:

You can add/delete Items/Sumenus with the contextmenu.
also Drag&Drop of Items is supported.

IV. Objectinspector



here you can change the properties of the selected control or form.
in the panel below you see the name of the current control.
enter new value for a property and press <enter> or select other cell to apply new value
<esc> restores old value
you can move to next property pressing TAB and to previous with SHIFT+TAB
when you doubleclick on cell the change-property-dialog appears.
Note: Integerlist- and TCollection-Properties are not supported

V. Component-Palette


simply click on the toolbutton with the control you want to add. It will be created inside the current selected control (if it allows subcontrols, else in its parent)
action-button: show the menu of the sizecontrol also when nothing is selected.

VI. Options

Tab "main-configuration":

Tab "packages":

Tab "edit-dialog":

special property-names
<isControl>if set to 1 defines that a unknown component is a control
(adding properties from control-section)
<replace>you can set here a classname which will be used if the
actual class is not known by dfmedit
<ignore>a comma-separated list of properties which will be ignored
in preview when component-class is replaced
<hide>if set to 1 this component isn't shown in the component-list (useful for replaced classes)
delete rules
*always delete this property
valuedelete this property if it is set to the given value
property2=valuedelete this property if property2 is set to the given value
[value1,value2]delete this property if it is set to value1 or value2
property2=[value1,value2]delete this property if property2 is set to value1 or value2

Tab "position and size":

you can set default-positions and sizes for each windows of dfmedit except:
you see the min-sizes in the screenshot above.

Tab "customize":


you can hide MenuItems and Toolbar buttons here, simple remove the check.