Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listview -> Papier (https://www.delphipraxis.net/9213-listview-papier.html)

Jan 20. Sep 2003 16:27


Listview -> Papier
 
Hallo Dpler,
mein Problem stellt sich wie folgend dar:

In meiner Anwendung befindet sich ein Tlistview in der Tabellenansicht, quasi wie eine Excel-Tabelle.
Die, sich in den Zellen befindlichen, Daten sind allerdings öfter mal breiter als die Zelle selber und werden so dann automatisch vom Tlistview "beschnitten". Der Benutzer kann nun auswählen welche Spalten er dargestellt haben will und wie breit diese sein sollen. Dabei kann er natürlich auch bewusst Zellen beschneiden, wenn der Text darin zu lang ist.
Jetzt möchte ich eine solche fertig bemessene Liste eines Tlistviews drucken, wobei sich dann das Problem stellt, dass die Breitenmaße zwischen dem Tlistview und dem Printercanvas variieren. Wo beim Tlistview eine 30 bereits reichte um eine Zelle komplett darzustellen brauche ich jetzt auf dem Printercanvas so ca 500.
Weiß jemand wie ich das genau umsetzen kann? so dass in den Zellen auf dem Papier genau das zu sehen ist, was auch in den Zellen des Tlistview zu sehen ist?
Wenn ich einfach per textout() Text schreibe wird ja nicht berücksichtigt, dass der Text vielleicht breiter ist als die Zelle es vorsieht, deswegen brauche ich drawtext() allerdings hab ich da das verflixte Problem mit den Größenmaßen.
Alles in allem brauche ich einfach eine vernünftige Lösung für das drucken eines Tlistviews, so wie er in der Anwendung zu sehen ist.
Für alle Antworten wäre ich unvorstellbar dankbar, weil so langsam hasse :evil: :firejump: ich drucken.
Gruß
Jan

Jan 21. Sep 2003 12:10

Re: Listview -> Papier
 
*Schieb*
:angle:

Jan 3. Okt 2003 17:43

Re: Listview -> Papier
 
Liste der Anhänge anzeigen (Anzahl: 1)
MWHAHAHA!!
Also nach ewigem rumgeprogge hab ich dann mal was gecoded was einen beliebigen Listview mit dem namen Listview1 auf form1 ausdruckt. Einfach meine Unit einbinden und die Klasse in der eigenen Unit erstellen.
Der Befehl um das Drucken zu starten lautet:

Delphi-Quellcode:
deinvarname.printlistview();
Sieht zwar alles nicht so ultraschick aus, aber klappt hoffentlich.
Anbei die Unit.
Vielleicht code ich ja noch, dass man jede beliebigen Listview drucken kann, unabhängig von name und Form.

Für Tests und Comments wär ich sehr dankbar.

Soll ich die Unit vielleicht unter Freeware posten?

Gruß
Jan


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz