怎么在richedit和memo中给有字符的行加上背景色

如何在richedit和memo中给有字符的行加上背景色?
我希望在richedit或memo中,给有字符的行加上整行背景色,

请问该怎么做?

我的目的是可以通过这种方式明白展示给使用者,这些行有空格或换行等空白字符。

------解决方案--------------------
Delphi(Pascal) code

选择一些文字

uses
  richedit;

var  Fmt :TCharFormat2;
begin
  Fmt.cbSize := SizeOf(Fmt);
  Fmt.dwMask := CFM_COLOR or CFM_BACKCOLOR;
  Fmt.crTextColor := clRed;
  Fmt.crBackColor := clYellow;
  RichEdit1.Perform(EM_SETCHARFORMAT,SCF_SELECTION,integer(@Fmt));
end;

------解决方案--------------------
Delphi(Pascal) code
unit   Unit1; 

interface 

uses 
    Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms, 
    Dialogs,   StdCtrls,   ComCtrls,richedit;//注意要加上RichEdit的引用 

type 
    TForm1   =   class(TForm) 
        RichEdit1:   TRichEdit; 
        Button1:   TButton; 
        procedure   Button1Click(Sender:   TObject); 
    private 
        {   Private   declarations   } 
    public 
        {   Public   declarations   } 
    end; 

var 
    Form1:   TForm1; 

implementation 

{$R   *.dfm} 

procedure   TForm1.Button1Click(Sender:   TObject); 
var     Fmt   :TCharFormat2; 
begin 
    Fmt.cbSize   :=   SizeOf(Fmt);//这里放传递的结构大小,系统通过这个知道传递的是CharFormat还是CharFormat2 
    Fmt.dwMask   :=   CFM_COLOR   or   CFM_BACKCOLOR;//告诉系统只有字体颜色和背景颜色两个字段的值有效 
    Fmt.crTextColor   :=   clRed;//设置字体颜色 
    Fmt.crBackColor   :=   clYellow;//设置字体背景色 
    RichEdit1.Perform(EM_SETCHARFORMAT,SCF_SELECTION,integer(@Fmt));//发EM_SETCHARFORMAT消息给RichEdit 
    //其中SCF_SELECTION表示该设置只对选择的文字有效,具体用法参考win32   SDK   HELP 
    RichEdit1.Lines.Add( '我靠啊 ');//   插入一行新文字 
end;