Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   RichEdit Schriftgröße ändern ? (https://www.delphipraxis.net/171863-richedit-schriftgroesse-aendern.html)

Davidlocke13 29. Nov 2012 13:08

AW: RichEdit Schriftgröße ändern ?
 
Ah ok jetzt verstehe ich das langsam ;-)

Popov 29. Nov 2012 13:09

AW: RichEdit Schriftgröße ändern ?
 
Das Beispiel ausführen, dann versteht man das auch ganz.

Davidlocke13 29. Nov 2012 16:32

AW: RichEdit Schriftgröße ändern ?
 
Also
Code:
procedure TForm1.SpinEdit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
{hier sollte ich glaube noch die Aktuelle Text größe prüfen ?}
RichEdit1.SelAttributes.Size := {Aktuelle Textgröße + 1};
end;
ich hoffe das geht in die richtige Richtung ?

Wenn nicht dürft ihr mich alle mal hauen ;-)

Popov 29. Nov 2012 19:11

AW: RichEdit Schriftgröße ändern ?
 
So kriegst du es nicht hin, also zu allem eine 1 addieren oder subtrahieren. Der Grund ist, dass ein markierter Text nicht die gleiche Fontgröße haben muss. Er kann, muss aber nicht. Das geht bei TMemo, die eine Größe hat, auch bei DefAttributes, da sie für ganzen Text gilt, aber nicht für SelAttributes.

Deshalb in TTextAttributes, also auch unter SelAttributes zu finden, die Methode ConsistentAttributes. Die sagt dir ob der markierte Block zusammen Fett oder nicht ist, gleiche Farbe hat, gleiche Schriftgröße, gleiche Schrift usw. ConsistentAttributes sagt dir also nicht die Schriftgröße, sondern ob alle gleich groß sind, oder, oder, oder.
Delphi-Quellcode:
  with RichEdit1 do
  begin
    ...

    SelLength := 16;
    if caBold in SelAttributes.ConsistentAttributes then
      ShowMessage('Alles zusammen ist fett') else
      ShowMessage('Einige Zeichen sind fett, andere nicht');
  end;
Wenn du den Schriftgrad um einen Punkt erhöhen willst, dann mußt du den ganzen Text einzeln analysieren und erhöhen. Und mit einer Funktion krisgst du das nicht hin. Dazu mußt du programmieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 Uhr.
Seite 2 von 2     12   

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