1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
{==================================================}
procedure TForm1.RichEdit1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
{==================================================}
//uses : RichEdit;
//Dans cet exemple, le contenu de la ligne s'affiche dans le hint
var
mouse : TMouse;
Pt: TPoint;
iLineIndex : integer; // Index de la ligne
iCharIndex : integer; // Caractère de l'index
begin
mouse := TMouse.Create();
Pt := mouse.CursorPos;
Pt := RichEdit1.ScreenToClient(Pt);
With RichEdit1 do begin
// Récupère le caractère sous le curseur
// En cas d'erreur la fonction retourne -1
iCharIndex := SendMessage(Handle, Messages.EM_CHARFROMPOS, 0, Integer(@Pt));
// Récupère l'index de la ligne
iLineIndex := Perform(EM_EXLINEFROMCHAR, 0, LPARAM(iCharIndex));
//Affiche le hint de la ligne
ShowHint := True;
Hint := '*** ceci n''est qu''un exemple ***' + #13#10
+ Lines.Strings[iLineIndex];
end;
end; |
Partager