AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi RichEdit: Problem mit Textfarbe und Markierungsfarbe
Thema durchsuchen
Ansicht
Themen-Optionen

RichEdit: Problem mit Textfarbe und Markierungsfarbe

Ein Thema von Helmi · begonnen am 18. Mai 2009 · letzter Beitrag vom 19. Mai 2009
 
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#1

RichEdit: Problem mit Textfarbe und Markierungsfarbe

  Alt 18. Mai 2009, 17:05
Hallo,

ich bin seit gestern am verzweifeln (gibts eigentlich einen DP-Psychiater?)

Ich habe ein RichEdit in dem ein Text geladen wird.
Die RichEdit hat im OI voreingestellt bei Font.Color = clBlack.

Mittels folgender Procedure suche ich nach bestimmten Vorraussetzungen in den
einzelnen RichEdit-Zeilen und mache dann diese Teil des Textes farbig.

Soweit so gut - das funktioniert alles bestens.

Wenn ich nun einen neuen Text in das RichEdit lade, so hat der komplette Text
nicht mehr die Textfarbe schwarz sondern die die in der Procedure zuvor genutzt wurde.

Delphi-Quellcode:
procedure TMainForm.RunAndColor(RichEdit: TRichEdit; Farbe: TColor);
var
  i : Integer;
  Pos_Such : Integer;
  RichEdit_Zeile: Integer;
  S_RichEdit : String;
  S_Kommentar : String;

begin
  with RichEdit do
    begin
      for i := 0 to Pred(lines.Count) do
        begin
          //Line-Text auslesen
          S_RichEdit := lines.Strings[i];

          //Position des Semikolons rausfinden
          Pos_Such := Pos(const_Semikolon, S_RichEdit);

          //wenn kein Semikolon vorhanden ist, dann neuer Schleifendurchgang
          If Pos_Such = 0 then
            continue;

          //RichEdit-Zeile auslesen
          RichEdit_Zeile := Perform(EM_LINEINDEX , i, 0);

          //Kommentar-Text aus Zeile rauskopieren
          S_Kommentar := Copy(S_RichEdit, Pred(Pos_Such), length(S_RichEdit));

          //Zeile + Position = Markierungsstart
          SelStart := RichEdit_Zeile + Pred(Pos_Such);

          //Markierungslänge
          SelLength := Length(S_Kommentar);

          //Farbe setzen
          SelAttributes.Color := Farbe;

          SelLength := 0;
        end;
    end;
end;
Ich hab folgendes schon versucht, davor und danach zu definieren, aber ohne Erfolg.

Delphi-Quellcode:
RichEdit_SPL.Font.Color := clBlack;
RichEdit_SPL.SelAttributes.Color := clBlack;
Weiss jemand was mein Problem sein könnte?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
 


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 21:12 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