Einzelnen Beitrag anzeigen

Benutzerbild von TOC
TOC

Registriert seit: 5. Jan 2005
Ort: Trier
248 Beiträge
 
Delphi 7 Personal
 
#8

Re: Inhalt einer Listbox ausdrucken ?

  Alt 6. Jan 2005, 16:29
Hi!

Hab ein kleines Progi für dich geschrieben. Du mußt der Funktion nur die Listbox übergeben. Druckt auch mehrere Zeilen, aber vorsicht mit dem Rechten Rand! Es muß auf die Seite passen!

Delphi-Quellcode:
[unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Printers;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    Procedure PrintListBox(ListBox: TListBox);
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  PrintListBox(ListBox1);
end;

Procedure TForm1.PrintListBox(ListBox: TListBox);
Var
  I,LinesPerPage,Count,FontHeight:Cardinal;
Begin
  With Printer do Begin
    Canvas.Font.Assign(ListBox.Font);
    FontHeight:=Canvas.TextHeight('X');
    LinesPerPage:=PageHeight div FontHeight;
    BeginDoc;
      Count:=0;
      For I:=0 to ListBox.Items.Count-1 do Begin
        Canvas.TextOut(0,Count*FontHeight,ListBox.Items[I]);
        Inc(Count);
        If Count=LinesPerPage then Begin
          Count:=0;
          NewPage;
        End;
      End;
    EndDoc;
  End;
End;

end.
Um es größer zu drucken mußt du Font.Size der Listbox vergrößern.
Ich hab damit grad gedruckt, es funkioniert!

Grüße von TOC!
Angehängte Dateien
Dateityp: zip printlistbox_134.zip (106,8 KB, 13x aufgerufen)
Lars Uwe Hohmann
"Wäre die Erde eine Bank, ihr hättet sie längst gerettet!"
(Zitat GreenPeace)
  Mit Zitat antworten Zitat