The Region control is used to group other controls into a single container. As a parent control, a region serves as a method to group objects together into printable units. In the screen shot below, the region is displayed with a red line color to show its location. The region is used in the CustContInvoices report within the RRBYW20 sample database.
When objects are contained within a region, the "Shift With Parent" and "Stretch With Parent" properties of those objects refer to the region. Both static and stretchable objects may be contained within regions. When stretchable objects, such as Memo or DB Memo, are placed inside regions, their "Shift Relative To" property is disabled. It may also be notice that all of the stretching components in the band do not always appear in the "Shift Relative To" dialog when assigning this property. This is due to the validation logic which ensures that components which are shifting relative to one another are not involved in a circular reference. In other words, if Memo1 is shifting relative to Memo2, then Memo2 cannot shift relative to Memo1, as this would create a situation which the report engine could not resolve.
Only side-by-side stretching is allowed within regions. If multiple "Shift Relative To" relationships are needed, and each stretching object has its own related static object, it is usually best to place each stretchable object (along with the corresponding static objects) in their own region, utilizing the region's "Shift Relative To" property to dynamically position the objects. Regions can also be used to define separate graphical and textual design layers, which can be helpful when forms emulation effects are needed.
The look and feel of a region can be controlled by setting the "Fill Color" and "Line Color" properties located on the Draw toolbar. When regions contain stretchable objects, you can sometimes improve the results of dynamic positioning by specifying a Bottom Offset value for the region, which is defined within the Position properties.
Properties for Region Objects
To set additional properties for Region objects, right click upon a Region control. The pop-up menu includes the following options:
•Align - displays the Alignment dialog for adjusting the horizontal and vertical alignment of the selected objects
•Component ID - specifies a Unique identifier used when passing PROPERTY/GETPROPERTY parameters in statements calling the report
•Bring to Front - places the currently selected object on the foreground of layered objects
•Send to Back - places the currently selected object in the background of layered objects
•Keep Together - controls the pagination of the memo when the contents cannot fit on the current page. Normally the contents are printed to the bottom of the available page space and then continued on subsequent pages until complete. If Keep Together is checked, the memo will advance to the next page when the contents do not fit.
•Parent Height - forces the height of the component to match the height of the parent component, when checked/true. The parent may be either a band or a region.
•Parent Width - forces the width of the component to match the width of the parent component, when checked/true. The parent may be either a band or a region.
•Position - opens the Position dialog window for specifying hard-coded coordinates
•Reprint On Overflow - applies to situations where a stretchable component is stretching across pages. If the text overflows onto a new page, any components that are on the same band will reprint on the new page, when checked/true.
•Shift Relative To - When multiple stretching components occupy the same band, use this property to specify how each component should be positioned relative to other stretching components. Shift Relative To can only be used for components that are dynamically sized. If you have a static component, such as a label, which needs to shift relative to a given stretching component, then place the component in a region and set the Region's Shift Relative To to the stretching component. See Notes Below.
•Shift With Parent - applies to situations where a stretchable component is stretching. When checked/true, the report component will move based on the amount of stretching the text requires. When you want components to appear at the bottom of a memo, this is a useful feature. If the memo stretches to a new page, the components will print on the next page.
•Stretch - determines whether the height of the object automatically stretches to allow the entire contents to be printed
•Stretch With Parent - determines whether the height of the component stretches to match any stretching done by the band. All stretching occurs vertically, and only vertical lines will stretch.
•Transparent - allows the object to become transparent to the background object
•Visible - specifies whether a report component will be printed
Note: Regions cannot be placed within other regions.