![]() |
Inhalt einer Listbox ausdrucken ?
hallo,
wie kann ich den ganzen inhalt einer listbox ausdrucken :? mfg vader |
Re: Inhalt einer Listbox ausdrucken ?
Kommt wohl drauf an was es für ´ne Listbox ist, also der Stiel ist das Problem. Wenns ´ne Standard-Listbox nur mit Zahlen/Text ist dann isses kein größeres Problem :drunken: , aber bei ´ner tabulierten Liste im Stiel 'lbOwnerDraw', die möglicherweise Grafiken enthält, ist das ein komplexes Problem. :cry:
Schreib mir mal genauer WAS Du ausdrucken möchtest. Wichtig ist die Anzahl der Einträge, also ob der Inhalt der Listbox auf eine Seite paßt oder über mehrere Seiten gehn soll. Das macht ´für´s Programm nämlich einen erheblichen Unterschied! Ich schreib nach her mal zuhause ´n kleines Programm für ne einseitige Standard-ListBox und schicks Dir wenns fertig ist.Hab nur etwas Gedult! Grüße von TOC! |
Re: Inhalt einer Listbox ausdrucken ?
Damit er es eventuell schon mal selber probieren kann, hier mal wie es im Prinzip geht: Du musst einfach nur jeden Item mit TextOut oder wenn es etwas besser formatiert sein soll, mit DrawText, auf den Canvas des Drucjers zeichnen. Dann noch eon BeginDoc davor aufrufen und dan nach ein EndDoc und schon hast du deine Listbox ausgedruckt.
|
Re: Inhalt einer Listbox ausdrucken ?
Also für reinen Text sollte das so passen:
Delphi-Quellcode:
uses
Printers; procedure PrintText(Text:TStrings; Font:TFont); var i:Integer; begin with Printer do begin BeginDoc; Canvas.Font.Assign(Font); for i := 0 to Text.Count-1 do Canvas.TextOut(5, (i*(Canvas.TextHeight(Text[i])+5))+50 , Text[i]); EndDoc; end; end; procedure TForm1.Button1Click(Sender: TObject); begin PrintText(Listbox1.Items , Font); end; |
Re: Inhalt einer Listbox ausdrucken ?
hallo,
danke für eure tipps der code von orbmu2k funzt,jetzt habe ich noch eine frage er druckt das sehr klein aus, wie kann man in größerer schrift ausdrucken ?? mfg vader |
Re: Inhalt einer Listbox ausdrucken ?
ändere den Wert von Font.Size...
Das stellt die Schriftgröße dar MFG Alex |
Re: Inhalt einer Listbox ausdrucken ?
hallo,
das mit font_size habe ich probiert, funzt nicht, ich kann einstellen was ich will der drucker druckt immer die gleiche größe :? mfg vader |
Re: Inhalt einer Listbox ausdrucken ?
Liste der Anhänge anzeigen (Anzahl: 1)
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:
Um es größer zu drucken mußt du Font.Size der Listbox vergrößern.
[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. Ich hab damit grad gedruckt, es funkioniert! Grüße von TOC! |
Re: Inhalt einer Listbox ausdrucken ?
hallo Toc,
super danke, es funzt :P mfg vader |
Re: Inhalt einer Listbox ausdrucken ?
ich würde dir noch raten, in mm zu drucken, dann bekommst du auch keine probleme, wenn du mal nen anderen drucker mit anderer auflösung verwendest (kannst im forum, mal nachschauen "in mm drucken" oder so)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz