![]() |
RichEdit Schriftgröße ändern ?
Morgen,
habe mal wieder voll das Anfänger-Problem ! Kann ich die Schriftgröße meines RichEdits mit einem SpinEdit ändern und wenn ja wie ? Gruß |
AW: RichEdit Schriftgröße ändern ?
Meinst Du jetzt die generelle Schriftgröße oder die des markierten Textes?
|
AW: RichEdit Schriftgröße ändern ?
des markierten Textes :wink:
|
AW: RichEdit Schriftgröße ändern ?
Dann schau Dir einmal
![]() |
AW: RichEdit Schriftgröße ändern ?
das ist dann property Font; oder ?
|
AW: RichEdit Schriftgröße ändern ?
Nein, die Eigenschaft SelAttributes vom Typ
![]() Zitat:
|
AW: RichEdit Schriftgröße ändern ?
Delphi-Quellcode:
;)
procedure TForm1.Button1Click(Sender: TObject);
begin with RichEdit1 do begin Lines.Text := 'Zwischen zwei Zwetschgen zwitschern zwei Schwalben'; SelStart := 9; SelLength := 15; SelAttributes.Name := 'Courier New'; SelAttributes.Color := clRed; SelAttributes.Size := 15; SelAttributes.Style := [fsBold, fsItalic]; SelAttributes.Style := SelAttributes.Style - [fsItalic]; end; end; |
AW: RichEdit Schriftgröße ändern ?
Zitat:
|
AW: RichEdit Schriftgröße ändern ?
Und deshalb hatte ich ja gefragt, welche Schriftgröße. Font ist für die generell anzuwendende Schrift und SelAttributes für die des markierten Textes zuständig.
|
AW: RichEdit Schriftgröße ändern ?
Zitat:
|
AW: RichEdit Schriftgröße ändern ?
Ah ok jetzt verstehe ich das langsam ;-)
|
AW: RichEdit Schriftgröße ändern ?
Das Beispiel ausführen, dann versteht man das auch ganz.
|
AW: RichEdit Schriftgröße ändern ?
Also
Code:
ich hoffe das geht in die richtige Richtung ?
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; Wenn nicht dürft ihr mich alle mal hauen ;-) |
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:
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.
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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