Ceci est une ancienne révision du document !
Envois et Réception de Messages Windows
Envois de messages
PostMessage
postMessage : Envoie un message dans la file d'attente de messages associée au thread et revient sans attendre que le thread ai traité ce message.
On pourrait dire que ce mécanisme est Asynchrone.
PostMessage(Application.MainForm.Handle,1222,0,0);
SendMessage
SendMessage : appelle la procédure de fenêtre pour la fenêtre spécifiée et ne revient pas tant que la procédure de fenêtre n'a pas traité le message.
Par comparaison avec PostMessage
on pourrait assimiler ce mécanisme avec du Synchrone.
SendMessage(Application.MainForm.Handle,1222,0,0);
Perform
Application.MainForm.Perform(1222,0,0);
Interception de message
Par un TForm
Dans cet exemple on veut intercepter un message indexé 1222.
Pour envoyer ce message on peut utiliser : PostMessage(Application.MainForm.Handle,1222,0,0);
TMainForm = class(TForm) ... private procedure TestMSG(var Message:TMessage);message 1222; ... public end; ... ... procedure TMainForm.TestMSG(var Message: TMessage); begin DebugLn('Reçu Message 1222'); end;
Vous pourriez laisser un commentaire si vous étiez connecté.