Forums | Contact | Plan du site Menu Accueil » Programmation

Evènement onMouseMove du TWebBrowser

  Le composant TWebBrowser, utilisé pour ouvrir des pages internet dans les applications, ne dispose pas d'évènements onMouseMove. Mais il existe une solution simple pour simuler cet évènement : il suffit d'utiliser la fonction ptinrect de windows.

ptinrect(const Rect: TRect; const P: TPoint)


On va donc tester via cette fonction si le curseur est bien sur le TWebBrowser.
PtInRect renvoie "Vrai" si le point ( P ) se trouve à l'intérieur du rectangle ( Rect ), et "Faux" le cas echéant.

 

On peut donc utiliser cette fonction dans toute procédure, mais pour simuler l'évènement
onMouseOver, il faut utiliser le composant TTimer Composant TTimer de l'onglet Système qui exécutera la fonction à intervalle régulier :

procedure TForm1.Timer1Timer(Sender: TObject);
begin

if ( ptinrect( // Appel de la fonction
  (WebBrowser1.BoundsRect),  // paramètre 1 (le Browser)
  screentoclient(mouse.CursorPos)) // paramètre 2 (le Curseur)
  ) then // code à exécuter si le curseur est au dessus

end;

 


Une question ? Venez échanger sur le forum...
Nom :
Sujet :
 

© Cédric MICHEL - conseil & création ( 2003 / 2024 )