![]() |
RichEdit OnMouseOver text highlighten
hi,
ich würde gern einen visuellen Effekt in das RichEdit einfügen wenn der Benutzer über ein wort mit der maus "fährt" soll sich das wort in der schriftfarbe ändern ( z.b. internet links o.ä. ) ich habe dem RichEdit bereits ein canvas objekt hinzugefügt, weiss aber nicht, wie ich den visuellen effekt überhaupt machen könnte bzw. wie ich das wort erhalte. wie könnte ich das wort "lesen" über das die maus steht ? mir fällt einfach keine Lösung ein :| |
Re: RichEdit OnMouseOver text highlighten
Hallo
ich hab irgendwann mal das verzapft:
Delphi-Quellcode:
würd dir das Wort unter dem Mauscursor in einem Label1 anzeigen. Kannst dann mit IAnfang weiterarbeiten und mit selstart, Selattributes etc deine Farbe ändern. (alte Markierung merken und wenn Maus über neuem Wort wieder die ürsprüngliche farbe herstellen ...)
procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); Var pt:tpoint; i,iAnfang,iEnde:integer; s:string; begin pt:= point(x,y); i := SendMessage(RichEdit1.Handle, EM_CHARFROMPOS, 0, longint(@pt)); //anfang und ende suchen iAnfang := i; iEnde := i; while (iAnfang>0) and (not (RichEdit1.Text[iAnfang] in [' ','.',',',';',#13,#10]) ) do dec(ianfang); while (iEnde<length(RichEdit1.Text)) and (not (RichEdit1.Text[iEnde] in [' ','.',',',';',#13,#10]) ) do inc(iEnde); s:=copy(RichEdit1.Text,iAnfang+1,iEnde-iAnfang-1); label1.Caption := '"'+s+'"'; end; Mfg Frank |
Re: RichEdit OnMouseOver text highlighten
spitze, hab vielen dank !!!!!!
|
Re: RichEdit OnMouseOver text highlighten
Kuckst du hier:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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