【发布时间】:2011-07-29 01:25:05
【问题描述】:
我正在尝试使用我的 Delphi 应用程序设置打印的列宽。无论我为字符串键入什么内容都不会减少宽度。其实我不明白为什么该属性返回一个字符串,它应该返回以像素为单位的宽度。
我的代码是
Printer.Canvas.TextWidth('M');
编辑:我知道它不返回字符串,但“M”是什么意思?我要做的是使列变窄。我的代码位于sudrap.org/paste/text/19688
编辑:恐怕我无法清楚地解释问题,对不起。 我希望它像这样打印:
不是这样的:
【问题讨论】:
-
但是TextWidth 应该返回整数。你在使用子句中使用
Printers单位吗? -
是的,我正在使用它。 “M”返回 75,“A”返回 61。我很困惑。
-
@nikel:我也不明白。 Canvas.TextWidth() 不是属性,它不返回字符串。它返回在画布上显示(打印)时字符串的宽度,以像素为单位。它不会更改字符串参数。您能否再发布几行代码?
-
我明白,它返回整数。我只是想让列更小。我的代码:sudrap.org/paste/text/19688
-
@nikel - 这是守护进程的答案中提到的“自动换行”。你应该朝着那个方向前进。感谢您使问题清楚顺便说一句。 :)
标签: delphi printing canvas text-width