Customizing the metamodel > Modifying the look of dialogs > Positioning controls and labels
  
Positioning controls and labels
Syntax for exact placement
PLACEMENT { PROPPOS(n,n) PROPSIZE(n,n) }
In the following example, PROPPOS (4,12) puts the control 4 windows units horizontally, and 12 windows units vertically from the upper left corner of the dialog. Or, to put it another way, 4 units to the left of the upper left corner of the dialog, and 12 units down from that corner. PROPSIZE (150,40) makes the control 150 windows units wide and 40 windows units long.
PLACEMENT { PROPPOS(4,12) PROPSIZE(150,40) }
Syntax for label positioning
PLACEMENT { LABELPOS (n,n) PROPPOS(n,n) PROPSIZE(n,n) }
In the following example, LABELPOS puts the label for the control 4 windows units horizontally, and 2 windows units vertically from the upper left corner of the dialog. The label, therefore, is the same distance from the edge of the dialog, but 10 windows units above the control.
PLACEMENT { LABELPOS (4,2) PROPPOS(4,12) PROPSIZE(150,40) }
Note Do not mix PLACEMENT with default positioning commands within a CHAPTER. Doing so causes odd positioning results.
Example
The following example shows a portion of the syntax from SAPROPS.CFG for the Entity Definition dialog.
CHAPTER "SQL Server Triggers & Table Segment"
GROUP "Default Referential Integrity Triggers"
LABEL "Default Referential Integrity"
{
LAYOUT { COLS 1 ALIGN LABEL TAB }
PROPERTY "Insert Trigger Name"
{ EDIT Text LENGTH 31
LABEL "Insert Trigger"
PLACEMENT {LABELPOS(4, 24) PROPPOS(50, 24) PROPSIZE(110, 12)} }
PROPERTY "Update Trigger Name"
{ EDIT Text LENGTH 31
LABEL "Update Trigger"
PLACEMENT {LABELPOS(4, 38) PROPPOS(50, 38) PROPSIZE(110, 12)} }
PROPERTY "Delete Trigger Name"
{ EDIT Text LENGTH 31
LABEL "Delete Trigger"
PLACEMENT {LABELPOS(4, 52) PROPPOS(50, 52) PROPSIZE(110, 12)}
}
}
See also
Some general sizing rules
Some general placement rules
Modifying the look of dialogs