Zitat von
Christophe:
dan habe ich mit TPrinter rumgespielt dort muss aber alles auf das Canvas gezogen werden.
Nun meine Frage. Ist es möglich ohne grosses drum rum dieses formular auszudrucken (langes Formular).
Hi,
da ist wieder mal die Definition von großem Drumrum die große Frage. An sich ist dein Formular nicht mehr als ein Canvas, auf den gezeichnet wird. Dein Drucker wird unter Windows auch als
GDI (Graphic Device Interface) behandelt, der Canvas von TPrinter ist halt ein
GDI-Device, auf dass du zeichnen kannst. An sich hast du damit schon eine gewisse Einfachheit, da du einfach Dinge wie StretchBlt oder BitBlt mit diesem Canvas verwenden kannst. Wie Klaus dir auch schon zeigte, kannst du so also auch dein Formular kopieren.
Was die Größe angeht, so kannst du mittels StretchBlt oder StretchDraw auch einfach dein Formular auf eine bestimmte Größe stauchen. An sich solltest du es dir beim Drucken aber nicht so einfach machen. Es ist ein bekanntes Problem (vieler Programmiersprachen), dass Drucken nicht trivial ist. Was du beachten musst ist, dass du je nach Drucker unterschiedliche Ergebnisse bekommen würdest (mit dem hier gezeigten Weg). Das liegt dann an der eingestellten Auflösung. Du gibst die Größe deiner Seite letztlich in Pixel an, je nach DPI Wert des Druckers hast du also auf einen Inch unterschiedlich viele Pixel, bei hoher Auflösung würde also nur noch ein Teil der Seite bedruckt...
Deswegen solltest du die Einheit des Druckers erst auf etwas Einheitliches (z.B. millimeter oder zehntel- millimeter) umstellen. Wie man druckt und was man beachten muss verrät dir die
DP-Suche
Gruß Der Unwissende