Einzelnen Beitrag anzeigen

Kaiserone

Registriert seit: 22. Aug 2024
2 Beiträge
 
#1

TRichEdit: Abfragen Attribute ohne SelAttributes

  Alt 22. Aug 2024, 20:58
Grundsatz
Mein TRichEdit enthält unter anderem Links, diese sind farblich hervorgehoben (cl_Link). Durch einen Klick mit Strg (Ctrl) wird der Link ausgeführt.

Ziel
Nun möchte ich, dass sich der Cursor in crHandPoint verwandelt, sobald die Maus auf einem solchen Link steht. Dazu verwende ich OnMouseMove.

Jetzige Prozedur
Code:
procedure RtfShowLink (x, y : integer; Rtf : TRichEdit);
var
  CharIndex,
  ss        : integer;
  Pt        : TPoint;
begin
    with Rtf do begin
      Pt := Point(X, Y);
      CharIndex := Perform(Messages.EM_CHARFROMPOS, 0, @Pt);

      if CharIndex >= 0 then begin
        ss := SelStart;
        SelStart := CharIndex;
        if SelAttributes.Color = cl_Link then Cursor := crHandpoint
                                         else Cursor := crArrow;
        SelStart := ss;
      end;
    end;
end;
Problem
Das ganze Feld flackert unerträglich bei jeder Mausbewegung.

Frage
Daher die Frage, ob ich die Attribute von Textstellen auch ohne SelStart, SelAttributes abfragen kann. So in etwa wie RichEdit.TextAttributes[index].
  Mit Zitat antworten Zitat