Einzelnen Beitrag anzeigen

Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: RichEdit OnMouseOver text highlighten

  Alt 7. Feb 2004, 14:32
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

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat