![]() |
TRichEdit: Abfragen Attribute ohne SelAttributes
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:
Problem
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; 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]. |
AW: TRichEdit: Abfragen Attribute ohne SelAttributes
Kannst du ein simples Beispielprojekt bereitstellen?
|
AW: TRichEdit: Abfragen Attribute ohne SelAttributes
Lösung gefunden:
Ich kopiere das TRichEdit, suche im unsichtbaren Hilfs-RichEdit nach dem Link-Code und platziere dann den Cursor im Original-RichEdit. Code:
Code:
procedure RtfShowLink (x, y : integer; Rtf, Hilf : TRichEdit);
var CharIndex : integer; Pt : TPoint; begin RtfAssign(Rtf, Hilf); Pt := Point(X, Y); CharIndex := Rtf.Perform(Messages.EM_CHARFROMPOS, 0, @Pt); if CharIndex >= 0 then begin Hilf.SelStart := CharIndex; if Hilf.SelAttributes.Color = cl_Link then Rtf.Cursor := crHandpoint else Rtf.Cursor := crArrow; end; end; |
AW: TRichEdit: Abfragen Attribute ohne SelAttributes
Da gab es doch mal ein uraltes TLinkRichEdit oder wie das hieß...
|
AW: TRichEdit: Abfragen Attribute ohne SelAttributes
TRichEdit unterstützt ja ab Version 2.0 eh schon Links:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz