// Es wird die Hintergrundfarbe eines selektieren Textes
// in einem TRichEdit geändert.


// Getestet mit D2010 unter Win7

uses RichEdit; 
 
function REBackColor(Re: TCustomRichEdit; Farbe: TColor): Boolean; 
var 
  fmt: TCharFormat2; 
begin 
  Result := Re.SelText <> ''; 
  if Result then 
  begin 
    ZeroMemory(@fmt, SizeOf(fmt)); 
    fmt.cbSize := SizeOf(fmt); 
    fmt.dwMask := CFM_BACKCOLOR; 
    fmt.crBackColor := Farbe; 
    Re.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Integer(@fmt)); 
  end; 
end; 

// Zeichenhintergrund färben 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  if not REBackColor(RichEdit1, clAqua) then 
    ShowMessage('Aktion nicht durchführbar'); 
end; 
 
// Zeichenhintergrund ändern (gleiche Selektion) 
procedure TForm1.Button2Click(Sender: TObject); 
begin 
  REBackColor(RichEdit1, clFuchsia); 
end; 
 
// Zurücknehmen 
procedure TForm1.Button3Click(Sender: TObject); 
begin 
  RichEdit1.Perform(EM_UNDO, 0, 0); 
end;


 

Zugriffe seit 6.9.2001 auf Delphi-Ecke