![]() |
Delphi-Version: 7
Printer Canvas und DrawText
Hallo!
Ich stelle die Frage mal einfach falls es auch eine einfache Antwort gibt... Ich habe eine Printer Canvas und kann problemlos mit
Code:
Text auf dieser ausgeben. Versuche ich jedoch das gleiche mit zB
Printer.Canvas.TextOut()
Code:
schaffe ich es nicht den Text auf die Seite zu drucken. Wobei rect mit den Koordinaten gefüllt ist, die mir ein vorheriger Aufruf von DrawText() unter Verwendung von DT_CALCRECT geliefert hat.
DrawText(Printer.Canvas.Handle, PChar(txt), -1, rect, DT_LEFT or DT_WORDBREAK)
Habe ich was übersehen? Vielen Dank und Grüße Clemens |
AW: Printer Canvas und DrawText
Was stehen für Werte in
Delphi-Quellcode:
?
rect
Liegen die Werte auch innerhalb des Zeichenbereichs? (vorallem bei teilweise links daneben oder darüber wird gerne mal nicht gezeichnet) Und gibt ![]() ![]() |
AW: Printer Canvas und DrawText
Danke für die Antwort. Als Koordinaten habe ich die gleichen wie für TextOut() verwendet.
Bezüglich Fehlercode habe ich wirklich vergessen darauf zu achten. Danke für den Hinweis, ich kann dann am Montag mal sehen was da zurück kommt... Vielleicht auch gleich mal GetLastError() strapazieren. Grüße |
AW: Printer Canvas und DrawText
Was für Werte stehen in rect (width, height)?
Versuch es mal damit, die Anzahl der Zeichen zu übergeben
Delphi-Quellcode:
DrawText( Printer.Canvas.Handle, PChar( txt ), Length( txt ), rect, DT_LEFT or DT_WORDBREAK );
|
AW: Printer Canvas und DrawText
Anzahl der Zeichen haben ich auch schon mal angegeben. Ändert leider auch nichts.
Ich rufe zuerst DrawText() mit DT_CALCRECT auf und übernehme die Werte für rect. Habe auch schon probiert rect.top und rect.bottom zu vertauschen, da top > bottom geliefert wird. Als Rückgabe von DrawText() erhalte ich dann zB -30 wenn height -30 war. |
AW: Printer Canvas und DrawText
Hallo,
Zitat:
Ich habe mit der, von Dir beschriebenen Vorgehensweise keine Probleme Text (oder auch andere Inhalte) auf dem Drucker auszuwerfen. Wenn es bei Dir nicht funktioniert, dann zeigt doch einfach mal was Du tust. Gruß |
AW: Printer Canvas und DrawText
Ruf mal Settextalign auf, eventuell ist die Baseline auf taTop gesetzt. Dann wird zwar gezeichnet, aber Du siehst nix.
|
AW: Printer Canvas und DrawText
Und wenn du es nicht schon hast, installiere zum Testen einen PDF Drucker. ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 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