2013-04-26 30 views
7

是否可以在Delphi XE2中配置多色多线TMemo?
就像当我写代码:根据变量的条件多色多线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; 

字体颜色为所有先前存在的线得到改变。

+0

请删除'= true'。 – 2013-04-26 21:52:15

回答

18

不,这是不可能的。但是,您可以使用RICHEDIT控件,例如TRichEdit包装。

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

我认为在技术上可以(没有尝试过)直接绘制到画布上。然而,这不仅仅是必要的,丰富的编辑就是为了这个。 – 2013-04-26 20:52:33