Hallo Rolf,
eine Möglichkeit wäre es, die Fundstellen in der Behandlungsroutine für das Ereignis
OnPaintTransient einzufärben:
Delphi-Quellcode:
procedure TForm1.EditorPaintTransient (Sender: TObject; Canvas: TCanvas; TransientType: TTransientType);
const
KEY = '
Suchbegriff';
var
i, k: Integer;
s:
string;
DP: TDisplayCoord;
P: TPoint;
begin
for i := Editor.TopLine
to Editor.TopLine + Editor.LinesInWindow
do
begin
s := Editor.Lines[i - 1];
k := Pos(KEY, s);
while (k > 0)
do
begin
DP := Editor.BufferToDisplayPos(
{SynEditTypes.}BufferCoord(k, i));
P := Editor.RowColumnToPixels(
DP);
Canvas.Brush.Color := clYellow;
Canvas.Font.Color := clRed;
Canvas.TextOut (P.X, P.Y, KEY);
k := PosEx(KEY, s, k + Length(KEY));
end;
end;
end;
Der Code zeigt nur die ungefähre Vorgehensweise. Beim Suchen wird auf exakte Groß-/Kleinschreibung geachtet, und ein Suchbegriff darf sich nicht über mehrere Zeilen erstrecken.
Gruß Hawkeye