... c'est possible ? Sans doute, mais comment ?
Merci.
JJE.
... c'est possible ? Sans doute, mais comment ?
Merci.
JJE.
Si l'application qui surveille est la plupart du temps au repos, un test de l'état de la souris dans un OnIdle ? Un peu tordu, et ne marchera de toute façon pas si l'appli effectue un traitement...
Merci pour ta réponse CapJack.
En fait, ce que j'aurais souhaité, c'est de connaitre la manière dont un contrôle a été quitté. En d'autres termes, lorsqu'un contrôle perd le focus, est-ce la conséquence d'un appui sur la touche <TAB> ou est-ce la conséquence d' un clic de souris sur un autre contrôle ?
JJE
Ah zut ! J'avais zappé OnMessage... il y a sans doute moyen de s'en servir !
Edit : yes !
Voilà un code tout bête qui marche, en collant un TMemo et deux ou trois TEdit :
Après c'est juste une histoire de mémoriser le dernier évènement qui s'est produit dans une variable, et de s'y référer au moment du OnEnter des contrôles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if Msg.message = WM_LBUTTONDOWN then begin Memo1.Lines.Add('Souris !'); end; if Msg.message = WM_KEYDOWN then begin Memo1.Lines.Add('Clavier !'); end; // TApplication end;![]()
Magnifique !
Merci CapJack
JJE
Ben, de rien.
Edit : 'Y a un truc auquel on n'a pas pensé : on peut aussi changer de focus avec le bouton droit de la souris.
Désolé de ne pas y avoir pensé tout de suite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if ( Msg.message = WM_LBUTTONDOWN ) or ( Msg.message = WM_RBUTTONDOWN ) then begin Memo1.Lines.Add('Jour !'); end; if Msg.message = WM_KEYDOWN then begin Memo1.Lines.Add('Nuit !'); end; end;
- CapJackouille -
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager