AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SelAttributes

Ein Thema von Amateurprofi · begonnen am 8. Okt 2020 · letzter Beitrag vom 8. Okt 2020
Antwort Antwort
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 Beiträge
 
Delphi XE2 Professional
 
#1

SelAttributes

  Alt 8. Okt 2020, 15:58
Ich suche in einem TRichEdit nach einem Text und markiere die Fundstellen mit roter, fetter Schrift
Für jeder Fundstelle:
Delphi-Quellcode:
   RichEdit.SelStart:=Fundstelle;
   RichEdit.SelLength:=Länge des gefundenen Texts;
   RichEdit.SelAttributes.Style:=[fsBold];
   RichEdit.SelAttributes.Color:=clRed;
Wenn ich danach eine zweiter Suche durchführe, bleiben die Markierungen der ersten Suche enthalten.
Um die Markierungen der ersten Suche vor der zweiten Suche zu entfernen mache ich
Delphi-Quellcode:
   var Temp:TStringList;
   begin
      Temp:=TStringList.Create;
      Temp.Assign(RichEdit.Lines);
      RichEdit.Clear;
      RichEdit.Lines.Assign(Temp);
      Temp.Free;
   end;
Frage:
Gibt es eine elegantere Methode, sowas wir SelAttributes.Clear ?
Überall wo ich gesucht habe gab es immer nur Beispiele, wie man etwas markiert, aber keine Info, wir man existierende Markierungen entfernt.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: SelAttributes

  Alt 8. Okt 2020, 16:31
Vielleicht hilft dies: RichEdit.SelAtrributes := RichEdit.DefAttributes;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 Beiträge
 
Delphi XE2 Professional
 
#3

AW: SelAttributes

  Alt 8. Okt 2020, 17:35
Vielleicht hilft dies: RichEdit.SelAtrributes := RichEdit.DefAttributes;
Danke für den Tipp, Uwe.

Einfach nur
RichEdit.SelAtrributes := RichEdit.DefAttributes; .

bringts zwar nicht, aber
Delphi-Quellcode:
   RichEdit.SelectAll
   RichEdit.SelAtrributes := RichEdit.DefAttributes;
bringt das gewünschte Resultat.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 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