Textwidth
Hi we put some text in a stringgrid. This stringgrid is used for the output
of the reportbuilder.
because of the width of page in the reportbuilder the text may not be wider
than this page.
Now we check the textwidht in the stringgrid with Canvas.Textwidth. But if
a generate a report with this text it is still wider then the width in the
stringgrid. The font and the size of the font are in the grid as wel in the
reportbuilder the same.
Why ?
of the reportbuilder.
because of the width of page in the reportbuilder the text may not be wider
than this page.
Now we check the textwidht in the stringgrid with Canvas.Textwidth. But if
a generate a report with this text it is still wider then the width in the
stringgrid. The font and the size of the font are in the grid as wel in the
reportbuilder the same.
Why ?
This discussion has been closed.
Comments
We have two choices when we create a preview - compose for the screen, or
compose for the printer. Most programs such as MS Word compose to the screen
when they create a preview. This makes for attractive previews but they tend
to
be inaccurate. And it means that they then compose again for the printer
when you print the document. Most of the time things will print effectively
similar to the preview, but we have seen many times when the printed output
was different - a word wrapped to the next line, or some such problem. If
you use a program meant for accurate page layout, such as PageMaker, you
will notice that the Page Setup dialog asks you for which printer you wish
to compose. When PageMaker displays a page, it may not look exactly how
you think it should, but you do get a preview where the element placement
is guaranteed to match the printed output's element placement.
We have chosen to follow this second model.
Note that when we say element placement, we are referring to X and Y
placement and not height and width. While the X and Y placement of
our previews will be accurate, the height and width of text elements
may vary based on zoom percentage. This is a normal artifact of
composing for the printer and not for the screen.
Your preview can not match your printed output. It will
differ in one of two ways:
1- It can look good on the screen, but items on the page may not
display in the same location they will when printed.
or
2- It can be less attractive, but items will display on the preview
exactly where they will when printed.
We give you the second because it is more accurate and more reliable.
Not to mention more in keeping with professional page layout products.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
but is there a way to check if the width that is typed into a control in a
delphi form fits in a report.
greetings Frank
access the Report.Printer.Canvas in order to call TextWidth. If the report
has been instantiated and has the desired printer setup, then I would think
that if you had access to the printer canvas that the report is generating
on, and used the TextWidth function, you should get the actual width that
that text would use when printed.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com