リストボックスのデータを印刷するには?


ミーシャ  2006-02-21 12:18:11  No: 20124  IP: 192.*.*.*

タイトルどおり、リストボックスのテキストデータを印刷したいのですが、
どうすればよいのでしょうか?

やってみたこと
<その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;
    (結果)==>なにも印刷されない

どうすればよいのかおしえていただけませんか?

編集 削除
deldel  2006-02-21 12:51:56  No: 20125  IP: 192.*.*.*

試してはないのですが・・・(印刷できない環境です;;)
以下はどうでしょうか?

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;

編集 削除