![]() |
Position für Printer
Hi folks,
mit dieser funktion lass ich ein Richedit ausdrucken:
Delphi-Quellcode:
nun benötige ich die genaue Position von Top
for KR:=0 to recid.lines.Count do
begin Printer.Canvas.TextOut(0,E,recid.lines[KR]); end; weil darunter noch ein Textout soll. Wie erhalte ich den Wert wo die zeilen des Edits enden? |
Re: Position für Printer
noch eine ergänzende Frage:
muss vor dem TextOut unbedingt ein TextRect gesetzt werden? |
Re: Position für Printer
Ich würde das mit der API-Funktion DrawText machen. Mit den entsprechenden Flags kannst du das richtig formatieren und bekommst auch die ausmaße zurück.
Dir ist aber klar, dass so die Formatierung des Richedits (farben etc.) nicht übernommen wird, oder? |
Re: Position für Printer
Zitat:
Zitat:
mfg |
Re: Position für Printer
nö. wärs nicht. ;)
DrawText is ne Standard-GDI-Funktion, die sollte in der Unit "Windows" statisch referenziert sein. Die Canvas-Funktionen greifen auf die zum großen Teil zurück, und die Dokumentation sollte auch stimmen. (Delphi 6... hmm... kein PSDK? ![]()
Delphi-Quellcode:
hDC könnte zum Beispiel Printer.Canvas.handle sein, string is klar, nCount: wie viele zeichen des strings übernehmen?, lpRect kannst du den Bereich angeben, der verwendet werden kann, und bekommst den wirklich verwendeten bereich zurück, und in uFormat kannst du (per OR-Verknüpfung) einige Flags angeben, die sehr hilfreich sind, z.B. DT_WORDWRAP.
function DrawText(hDC: HDC; lpString: PChar; nCount: Integer; var lpRect: TRect; uFormat: UINT): Integer; stdcall;
|
Re: Position für Printer
Danke
ich habs etwas anders gelöst. Ich habe den Richedit in TSrings umgewandelt und als einzelne Strings in das ohnehin vorhandene Grid unten angefügt. So druckt wird das Grid UND das Richedit gedruckt. Danke nochmals |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 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 by Thomas Breitkreuz