AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Position für Printer

Ein Thema von Privateer3000 · begonnen am 6. Aug 2006 · letzter Beitrag vom 6. Aug 2006
Antwort Antwort
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#1

Position für Printer

  Alt 6. Aug 2006, 00:49
Hi folks,

mit dieser funktion lass ich ein Richedit ausdrucken:
Delphi-Quellcode:
for KR:=0 to recid.lines.Count do
  begin
  Printer.Canvas.TextOut(0,E,recid.lines[KR]);
  end;
nun benötige ich die genaue Position von Top
weil darunter noch ein Textout soll.
Wie erhalte ich den Wert wo die zeilen des Edits enden?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Position für Printer

  Alt 6. Aug 2006, 17:39
noch eine ergänzende Frage:
muss vor dem TextOut unbedingt ein TextRect gesetzt werden?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Position für Printer

  Alt 6. Aug 2006, 17:46
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?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Position für Printer

  Alt 6. Aug 2006, 18:14
Zitat von DGL-luke:
Ich würde das mit der API-Funktion DrawText machen.
Das kenn ich nun garnicht. Wie wird das gemacht?
Zitat:
Dir ist aber klar, dass so die Formatierung des Richedits (farben etc.) nicht übernommen wird, oder?
Ja, weiß ich. Würde das mit o.g. API anders sein?

mfg
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Position für Printer

  Alt 6. Aug 2006, 19:20
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? MSDN-Library durchsuchenDrawText)

function DrawText(hDC: HDC; lpString: PChar; nCount: Integer; var lpRect: TRect; uFormat: UINT): Integer; stdcall; 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.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Position für Printer

  Alt 6. Aug 2006, 20:03
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
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 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