Registriert seit: 4. Sep 2004
1.465 Beiträge
Delphi 10.4 Sydney
|
AW: Einfaches Memo mit einfachem Einfärben von Wörtern?
24. Mär 2015, 17:42
Das mit TRichEdit war ein guter Tipp. Ich habe jetzt das hier geschrieben, funktioniert sehr gut:
Delphi-Quellcode:
procedure ColorWords(ARichEdit: TRichEdit; AWordsStr: string);
var
SP, TextLength: Integer;
i: Integer;
sl: TStringList;
procedure ColorAWord(const ASearchStr: string);
begin
SP := ARichEdit.FindText(ASearchStr, 0, TextLength, []);
while SP <> -1 do
begin
ARichEdit.SelStart := SP;
ARichEdit.SelLength := Length(ASearchStr);
ARichEdit.SelAttributes.Color := clRed;
SP := ARichEdit.FindText(ASearchStr, SP + Length(ASearchStr), TextLength, []);
end;
end;
begin
TextLength := Length(ARichEdit.Lines.Text);
sl := TStringList.Create;
try
sl.Text := StringReplace(AWordsStr, ' ', #13#10, [rfReplaceAll]);
for i := 0 to sl.count - 1 do
ColorAWord(sl[i]);
finally
sl.Free;
end;
end;
procedure TForm1.btnColorWordsClick(Sender: TObject);
begin
ColorWords(RichEdit1, 'ein Text');
end;
|
|
Zitat
|