タイトルどおり、リストボックスのテキストデータを印刷したいのですが、
どうすればよいのでしょうか?
やってみたこと
<その1>
Printer.Canvas.TextRect(Rect(200, 200, Printer.PageWidth - 200,
Printer.PageHeight - 200), 200, 200,
lbxHeadList.Items.Text);
(結果)==>1行で印刷された
<その2>
Str := '';
for i := 1 to lbxHeadList.Count do begin
Str := Str + lbxHeadList.Items.Strings[i - 1] + #13#10;
end;
Printer.Canvas.TextRect(Rect(200, 200, Printer.PageWidth - 200,
Printer.PageHeight - 200), 200, 200, Str);
(結果)==>なにも印刷されない
<その3>
for i := 1 to lbxHeadList.Count do begin
Printer.Canvas.TextOut(200, 200 + (i - 1) * Font.Height,
lbxHeadList.Items.Strings[i - 1]);
end;
(結果)==>なにも印刷されない
どうすればよいのかおしえていただけませんか?
試してはないのですが・・・(印刷できない環境です;;)
以下はどうでしょうか?
var
R: TRect;
S: AnsiString;
begin
S := ListBox1.Items.Text;
R := Rect(0, 0, Printer.PageWidth, Printer.PageHeight);
DrawTextEx(Printer.Canvas.Handle, PChar(S), Length(S), R, 0, nil);
Printer.EndDoc;
end;