AdjustObjectSize Event (TMM)

Visual FoxPro 9.0 SP2
Back to TMM Index
This is an update to an existing Event topic, covering changes and refinements in SP1 and SP2 and correcting a few points in the original RTM documentation.

General corrections to this CHM topic

The SP2 CHM topic for this Event contains a Tip describing the behavior of the Report Engine that is no longer appropriate. Please see the CHM topic on the new-in-SP2 CallAdjustObjectSize property as well as the TMM docoid on the CallAdjustObjectSize and CallEvaluateContents Properties for more information.

In addition to this correction, and to the changes below, two paragraphs in the CHM topic suggest that you cannot change the base rendering by adjusting the .Width value but, in fact, you can -- this change occurred before RTM release but was not properly revised in the documentation.

The topic also suggests that Shape layout controls are normally used for placeholders when in fact there are often good reasons to use Image controls as placeholders instead. Of course, either type of control is equally accessible for adjustment using AdjustObjectSize.

Regarding changes to behavior

This section presents a list of some of the items that may have impact on your AdjustObjectSize algorithms which were refined in SP1 and SP2. If you have done close work with this event using the RTM and/or the SP1 versions of VFP 9 you may want to review the changes and determine whether you need to re-check your algorithms.

Several changes to the behavior of AdjustObjectSize objProperties values occurred in SP1 and SP2. While each one individually constitutes an improvement or a fix to the original RTM behavior, and while none of the changed items was explicitly documented in the RTM documentation, these additional notes may provide helpful reference. Since each individual change may have impact on others, it is somewhat difficult to say what the final difference in behavior will be for your specific code.

  • When a layout element floats, the values of .MaxHeightAvailable and .Top should change to reflect this.
  • The values of .Top, .MaxHeightAvailable, and .Left should be relative to whole page (in RTM they could be relative to printable page), so that they match the values you see in the Render event, and correspond properly to the values returned by GetPageHeight and GetPageWidth.
  • The Report Engine does not support adjusting height in AdjustObjectSize when the layout control floats "relative to bottom of the band". When the layout control floats "relative to bottom", the engine emphasises the fact that valid figures for .Top and .MaxHeightAvailable are not available in this event by setting these values to -1. .Height continues to show a "realistic" value but it is readonly when the control is marked "relative to bottom".
  • .MaxHeightAvailable is not as relevant to layout controls in the Page Footer band as it is to other bands. The value returned is simply the space remaining to the bottom of the page (full page height minus the .Top of the control).

See AlsoSee Also