AGB  ·  Datenschutz  ·  Impressum  







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

Problem bei RichEdit und Scalierung

Ein Thema von leo03 · begonnen am 22. Jul 2014 · letzter Beitrag vom 22. Jul 2014
 
leo03

Registriert seit: 18. Jul 2006
5 Beiträge
 
#1

Problem bei RichEdit und Scalierung

  Alt 22. Jul 2014, 16:38
Hallo

Kann man irgendwie verhindern das bei RTFEdits die Font.Size bei Scalieren geändert wird?

Ich verwende ein TDBRichEdit um RTF Inhalte für ein später druckbares Formular einzugeben.
Jetzt habe ich gemerkt dass wenn die Anwendung hochscaliert wird (z.B. über die DPI Einstellung in der Systemsteuerung\Alle Systemsteuerungselemente\Anzeige) auch automatisch die Font.Size des TDBRichEdit mit hochgedreht wurde.
Wenn der Benutzer nun einen Text in das (bisher leere) RTF eingibt und dann druckt, dann passt der Inhalt nicht mehr aufs Papier weil die Schrift viel zu gross ist.
Wenn im TextBlob Feld des DB-Records vor scalierung schon was drin war, spielt es keine Rolle da im RTF Text auch der vorher passende Font.Size drin ist. Jedoch bei leeeren/neuen Records wird der neue Inhalt mit den zu grossen Font-Eintellungen im RTF gespeichert.

Vor allem ältere Leute drehen scheinbar gerne mal ihre DPI hoch um auf ihren hochaufgelösten aber viel zu kleinen Monitoren überhaupt noch etwas lesen zu können.
Das hochscalieren macht mir sonst in der GUI keine Probleme, jedoch das Drucken der zu grossen RTF Inhalte ist lästig.

Was ich versucht habe
- Statt Windows die Scalierung zu überlassen die Delphi Methode ScaleBy() verwenden. Jedoch auch diese verändert die Font.Size der RichEdit Controls.
- Eine Möglichkeit gesucht in der Printing Software den Font zu fixieren. Jedoch da gibt es leider nix. (macht auch eigentlich keinen Sinn da man verschiedenen Fonts/Formatierungen in einem RTF ja auch so zum Drucken möchte).

Gibt es eventuell über das TDBRichEdit Control ein Property um den Default Font generell zu fixieren?
Dann wäre zwar der Text auf dem Monitor auch in kleiner Orginalgröße, damit könnte ich aber leben wenn der Druck dann passt.

Danke für eure Hilfe

-------------------------
um das ganze mal zu veranschaulichen
- ein RichEdit Control aufs Form geben (kann auch das normale ohne Datenanbindung sein)
- Ein Button mit der Funktion RichEdit1.Print('');
- Anwenung starten, Text eigeben, Drucken
- Danach mit der selben Anwendung auf einer DPI von 125 oder 150 (wem die Windows DPI Umstellung mit anschliessendem neuanmelden zu mühsam ist, kann auch vor dem Druck die Delphi Funktion ScaleBy(140,100) aufrufen um nur das Delphi Form um 40% hochzuscalieren. Wenn man die zwei Drucke vergleicht fällt auf, das auf dem 2.Ausdruck der gedruckte Text ebenfalls grösser ist.

Geändert von leo03 (22. Jul 2014 um 16:44 Uhr)
  Mit Zitat antworten Zitat
 


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 20:27 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