Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RichEdit OnMouseOver text highlighten (https://www.delphipraxis.net/15950-richedit-onmouseover-text-highlighten.html)

Snoop007 7. Feb 2004 13:33


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 :|

Keldorn 7. Feb 2004 14:32

Re: RichEdit OnMouseOver text highlighten
 
Hallo

ich hab irgendwann mal das verzapft:
Delphi-Quellcode:
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;
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 ...)

Mfg Frank

Snoop007 7. Feb 2004 17:47

Re: RichEdit OnMouseOver text highlighten
 
spitze, hab vielen dank !!!!!!

Luckie 7. Feb 2004 18:05

Re: RichEdit OnMouseOver text highlighten
 
Kuckst du hier: http://www.swissdelphicenter.ch/de/showcode.php?id=979


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz