Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Rich Edit Markieren unterschiedlicher Styles (https://www.delphipraxis.net/191911-rich-edit-markieren-unterschiedlicher-styles.html)

oakley 2. Mär 2017 15:46

Rich Edit Markieren unterschiedlicher Styles
 
Hallo zusammen,

ich habe ein RichEdit in dem das erste Wort fett und das zweite nicht fett ist.
Markiere ich nun von links nach rechts beide Worte und möchte es unterstreichen verwende ich:
Code:
RichEdit.SelAttributes.Style := RichEdit.SelAttributes.Style + [fsUnderline]
Was dann passiert ist aber das er mir das erste Wort nicht fett geschrieben lässt sondern dem zweiten Wort anpasst.

Gibt es eine Möglichkeit das so zu ändern, dass er nur unterstreicht und den Style des jeweiligen Wortes bei behält?

Viele Grüße

Mirko

himitsu 2. Mär 2017 15:54

AW: Rich Edit Markieren unterschiedlicher Styles
 
Das zweite RichEdit.SelAttributes.Style in deinem Code liest den Style an der Cursorposition aus
und das erste RichEdit.SelAttributes.Style weist dann den "gesamten" Style inkl. Fett/Kursiv/Unterstichen der ganzen Selektierung zu.

Also entweder du merkst dir die Selektierung und änderst das für jedes Zeichen einzeln
oder du teils diesen Bereich in Stückchen mit gleicher Formatierung und setzt diese bei Stückchen jeweils deine Änderung rein.

oakley 2. Mär 2017 16:05

AW: Rich Edit Markieren unterschiedlicher Styles
 
Hallo,

danke für Deine Antwort.
Für jedes Zeichen einzeln dann in etwa so?

Code:
sstart := RICHEDIT.Selstart;
slength := RICHEDIT.SelLength;

for i := 0 to slength-1 do
begin
  RICHEDIT.SelStart := sstart + i;
  RICHEDIT.SelLength := 1;
  RICHEDIT.SelAttributes.Style := RICHEDIT.SelAttributes.Style + [fsUnderline];
end;
Könntest Du mir bitte damit helfen, wie ich am besten die Aufteilung in Bereiche gleicher Formatierung mache?

Viele Grüße

Mirko


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.

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