Aaron -
however, when I try to put the frame's canvas in a Pageframe, it paints on the form and the canvas... how can I avoid it?! Thanks in advance!You need to re-read my article, starting from here:
A Slight Problem
OK, I confess I omitted an important fact earlier. (Article-writers do this all the time because they think it makes a good learning device.)
As you have probably noticed, the ReportListener.OutputPage() method uses the position and dimensions of the Shape object to render the page of the report on the surface of the form. It doesn't actually draw on the Shape itself.
As a result, the page overwrites the other controls on the form, yielding a disturbing visual effect. (see screen shot at right.)
There is a solution: we have to use the additional parameters to OutputPage() to specify constraints within which the image is drawn.On re-reading this, I think perhaps I could have been clearer: The OutputPage() method draws on the parent FORM or SCREEN, not the Shape. Although I have called the Shape the "canvas", this is misleading. It is really the "template" or "dimension source" and the actual rendered page is always drawn on the underlying form - obliterating any control that might be in the same region.
Hope this helps,
- Colin