Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RichText (Farbe bei Insert) (https://www.delphipraxis.net/30941-richtext-farbe-bei-insert.html)

PremiumPils 1. Okt 2004 14:30


RichText (Farbe bei Insert)
 
Huhu... kleines Problem, ich möchte in einem Textfeld Meldungen ausgeben, wobei die neuste Meldung immer oben sein soll - wichtig sind verschiedene Farben. Bei "add" gibt es keine Probleme, nur das dann die Zeilen unten sind. Dei "insert" sind die neuen Zeilen oben, jedoch ohne das neue Farbattribut.

Code:
procedure LogNachricht(text:string; texttyp:integer);
begin
  case texttyp of
      -1 : begin
             Log.SelAttributes.Color := clRed;
           end;
       0 : begin
             Log.SelAttributes.Color := clWindowText;
           end;
       1 : begin
             Log.SelAttributes.Color := clGreen;
           end;
  end;
  Log.Lines.insert(0,FormatDateTime('dd.mm.yy - hh:mm:ss', Now)+' - '+text);
  //Log.Lines.add(FormatDateTime('dd.mm.yy - hh:mm:ss', Now)+' - '+text);
end;

Dax 1. Okt 2004 14:32

Re: RichText (Farbe bei Insert)
 
Wenn du es so machen willst, musst du erst die Zeile einfügen und dann erst die Zeile selektieren. Danach kannst du mit SelAttributes arbeiten.

Sharky 1. Okt 2004 14:38

Re: RichText (Farbe bei Insert)
 
Hai,

Du musst zuerst den Text einfügen und dann "markieren".
Delphi-Quellcode:
procedure TForm1.LogNachricht(text:string; texttyp:integer);
begin
  Log.Lines.insert(0,FormatDateTime('dd.mm.yy - hh:mm:ss', Now)+' - '+text);
  Log.SelStart := 0;
  Log.SelLength := Length (Log.Lines[0]);
  case texttyp of
      -1 : begin
             Log.SelAttributes.Color := clRed;
           end;
       0 : begin
             Log.SelAttributes.Color := clWindowText;
           end;
       1 : begin
             Log.SelAttributes.Color := clGreen;
           end;
  end;
  Log.SelStart := 0;
end;
[Edit]Das kommt davon wenn die Frau einen ablenkt. Schon ist Dax schneller *g*

PremiumPils 1. Okt 2004 15:12

Re: RichText (Farbe bei Insert)
 
Das war die Lösung? :oops: Danke euch von ganzem Herzen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 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