// 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;
|