2013-04-26 14 views
7

Ist es möglich, Multicolor Multiline TMemo in Delphi XE2 zu konfigurieren?.
Wenn ich schreibe Codes wie:Multicolor Multiline TMemo

procedure TForm1.BitBtn1Click(Sender: TObject); 
var 
    FirstVariuble, SecondVarible, ThirdVarible :BOOL; 
begin 
    if FirstVariuble = true then 
    begin 
     Memo1.Font.Color := clGreen; 
     Memo1.Lines.Add('FirstVariuble = True'); 
    end 
    else if SecondVarible = true then 
    begin 
     Memo1.Font.Color := clBlue; 
     Memo1.Lines.Add('SecondVarible = True'); 
    end 
    else 
    begin 
     Memo1.Font.Color := clRed; 
     Memo1.Lines.Add('ThirdVarible = True'); 
    end; 
end; 

Schriftfarbe für alle bisher bestehenden Linien werden immer nach Zustand der Variablen verändert.

+0

Bitte entfernen Sie '= true'. –

Antwort

18

Nein, das ist nicht möglich. Sie können jedoch stattdessen ein RICHEDIT-Steuerelement verwenden, z. B. den TRichEdit-Wrapper.

RichEdit1.SelAttributes.Color := clGreen; 
RichEdit1.Lines.Add('First line.'); 

RichEdit1.SelAttributes.Color := clBlue; 
RichEdit1.Lines.Add('Second line.'); 

RichEdit1.SelAttributes.Color := clRed; 
RichEdit1.Lines.Add('Third line.'); 
+0

Ich denke, dass es technisch möglich ist (habe nicht versucht), indem ich direkt auf die Leinwand zeichne. Aber das ist viel mehr als nötig, ein reichhaltiger Schnitt ist dafür gedacht. –