以下のソースでフォームタイトルしか印刷されません
何故でしょう
var
Line: Integer;
P:TPrintDialog;
begin
P:=TPrintDialog.Create(Self);
if P.Execute then
begin
with Printer do begin
BeginDoc;
Canvas.Font.Size:=12;
Canvas.TextOut(100, 10, Self.Caption);
for Line:=0 to MainEdit.Lines.Count-1 do
begin
Canvas.TextOut(10, Canvas.Font.Height+30+(Canvas.Font.Height+1*Line), MainEdit.Lines[Line]);
end;
EndDoc;
end;
end;
P.Free;
end;
ヘルプで TFont.Height を調べてください。
Canvas.Font.Height+30+(Canvas.Font.Height+1*Line)
これだと一行につき一ピクセルしかずれません。
また、テキストの高さは Canvas.Font.Height ではなく Cnavas.TextHeight で
もとめます。
jokさんありがとうございました
ツイート | ![]() |