Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#14

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 20:11
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.
  Mit Zitat antworten Zitat