cs_Gysmo
Messages postés209Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention13 décembre 2002
-
30 avril 2002 à 01:25
cs_Gysmo
Messages postés209Date d'inscriptionlundi 11 février 2002StatutMembreDernière intervention13 décembre 2002
-
1 mai 2002 à 21:50
Salut,
Je n'arrive pas a faire d'operation logic sur les messages de windows de cette maniere:
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := ClickMessage;
end;
procedure TForm1.ClickMessage(var Msg: TMsg; var Handled: Boolean);
begin
with Msg do
if (((message=WM_LBUTTONDOWN) or (message=WM_RBUTTONDOWN)) and (message=WM_KEYDOWN)) then ...
end;
Deja j'ai recu a trouver comment recuperer differents messages (avec OnMessage) mais la, je bug...
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 30 avril 2002 à 13:55
Peut-être car Msg.Message ne peut être égal à la fois à WM_KEYDOWN et WM_LBUTTONDOWN...
Windows envoi à l'application tout ce qui ce passe dans le PC via des messages. Messages que tu d'interceptes, mais tu ne peut traiter qu'un message à la fois. Donc tu doit garder quelque-part une trace des touches appuyées (WM_KEYDOWN) pour pouvoir les tester avec ensuite au moment des messages de souris (WM_LBUTTON...)
Un autre petit truc :
Plutôt que de définir un évènement ClickMessage et de l'associer par OnCreate à Appication.OnMessage, utilise le composant TApplicationEvents de la palette supplément et ensuite l'évènement OnMessage de celui-ci. C'est plus rapide à saisir...