![]() |
Delphi-Version: 2010
RxRichEdit zoomen
Hallo zusammen,
ich befülle ein RxRichEdit, dass ein A4-Blatt abbildet, zu Testzwecken komplett mit einer vorgegebenen Anzahl Zeilen (in meinem Beispiel bei Arial, 11 Punkt sind es exakt 59). Nun zoome ich das RichEdit am Bildschirm mit folgender Prozedur:
Delphi-Quellcode:
Dabei stelle ich fest, dass offenbar die dargestellte Größe der Schrift nicht "weich" gezoomt wird (so wie in Word), so dass immer die gleiche Anzahl an Zeilen auf meinem RichEdit sichtbar sind. Mal sind es 53/54 Zeilen, dann wieder 59 usw. Besonders schlimm wird es bei einem Zoomfaktor von 50 bzw 45%. Hier wir die Schrift am Bildschirm gar nicht gezoomt, es ist die gleiche Anzahl von Zeilen am Bildschirm sichtbar, mit mehr oder weniger großem unteren Seitenrand.
procedure TForm11.SetZoom(var Zoom: double);
var Numerator, Denominator : integer; begin if Zoom = 1 then begin Numerator := 0; Denominator := 0; end else begin Numerator := round(Zoom * 100); Denominator := 100; end; //RichEdit gezoomt zeichnen with RxRichEdit1 do begin Width := MulDiv(trunc(PageWidth * 10 * Zoom),fScreenLogPixels,254); Height := MulDiv(trunc(PageHeight * 10 * Zoom),fScreenLogPixels,254); end; //Inhalt des RichEdits zoomen SendMessage(RXRichEdit1.Handle, EM_SETZOOM,Numerator,Denominator); end; Die Größe des RichEdits ändert sich korrekt, ebenso die eingestellten Seitenränder, nur die Schriftgröße hakt. Mach ich einen Fehler bei Aufruf der Message EM_SETZOOM oder muss man am RichEdit was einstellen, damit "sanft" gezoomt wird? Vielen Dank für Eure Mithilfe. |
AW: RxRichEdit zoomen
Hat noch niemand dieses Problem gehabt?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 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