Customizing the metamodel : Modifying the aesthetic look of dialogs : Positioning controls and labels
  
Positioning controls and labels
The syntax for exact placement is:
PLACEMENT { PROPPOS(n,n) PROPSIZE(n,n) }
Example:
PLACEMENT { PROPPOS(4,12) PROPSIZE(150,40) }
Additionally, you may specify label positioning. The syntax for exact label placement is:
PLACEMENT { LABELPOS (n,n) PROPPOS(n,n) PROPSIZE(n,n) }
Example:
PLACEMENT { LABELPOS (4,2) PROPPOS(4,12) PROPSIZE(150,40) }
In Example 1 above, PROPPOS (4,12) places the control 4 windows units horizontally, and 12 windows units vertically from the upper left-hand corner of the dialog. Or, to put it another way, 4 units to the left of the upper left-hand 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.
In Example 2 above, LABELPOS places the label for the control 4 windows units horizontally, and 2 windows units vertically from the upper left-hand corner of the dialog. The label, therefore, is the same distance from the edge of the dialog, but 10 windows units above the control.
Note Do not mix PLACEMENT with default positioning commands within a CHAPTER. Doing so causes odd positioning results.
A portion of the syntax from SAPROPS.CFG for the Entity Definition dialog follows.
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)} }
}