Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - farbe einer einzelnen Zeile


waldmeister - Mo 30.09.02 12:31
Titel: farbe einer einzelnen Zeile
Wie kann man in z.b in einem memo die farbe jeder einzelnen zeile verändern?? z.b. so, dass die erste schwarz is der user ne andere farbe wählt und von da an alle neue auftauchenden die andere farbe haben, die erste aber weiterhin schwarz bleibt.


Tino - Mo 30.09.02 13:22

Hallo,

das bekommst Du mit der tMemo Komponente nicht hin. Verwende statt dessen das tRichEdit.

Hier mal ein Beispiel damit nach dem Button-Klick die neu eingegebenen Zeichen blau und Fett dargestellt werden:

Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button2Click(Sender: TObject);
begin
  RichEdit1.DefAttributes.Color := clBlue;
  RichEdit1.DefAttributes.Style := [fsBold];
end;


waldmeister - Mo 30.09.02 14:18

geht net!!!
is genauso wie wen ich das mit nem memo machen würde, alles wird umgefärbt!!!


waldmeister - Di 01.10.02 10:19

Ich hab jetzt selbst eine möglichkeit gefunden!


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor); 
begin 
  with ARichEdit do
  begin 
    SelStart := Length(Text); 
    SelAttributes.Color := AColor; 
    SelAttributes.Size := 8; 
    SelAttributes.Name := 'MS Sans Serif'; 
    Lines.Add(AText); 
  end; 
end;


procedure TForm1.Button1Click(Sender: TObject);
begin

AddColoredLine(RichEdit1, 'Hallo', clRed); 
  AddColoredLine(RichEdit1, 'Hallo', clGreen); 

end;

da ganze hab ich von swissdelphicenter.ch und es klapp einwandfrei!