Bonjour,
(j'espérais des réponses dans le sous-forum "Programmation système" mais les gens ont dû avoir peur du langage Pascal, du coup 0 réponse, d'où ce post, en espérant qu'ici...)
Ayant fait des recherches récemment, je suis tombé sur des bouts de code qui, pour moi, ont un fonctionnement opposé, je dirais, alors si une âme charitable pouvait éclaircir cette histoire, ça m'arrangerait.
Concernant la gestion des messages, j'ai trouvé ici
mais j'ai aussi trouvé là
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.WndProc(var Msg: TMessage); begin inherited; // // gestion de mes messages if Msg = WM_... then ... end;
Quelle est l'approche juste concernant la position de cet inherited ? En début ou fin de proc ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.WndProc(var Msg: TMessage); begin // gestion de mes messages if Msg = WM_... then ... // inherited; // important to forward messages to default handlers end;
Question subsidiaire : ces exemples sont basés sur l'utilisation de WndProc, mais on en trouve aussi beaucoup basés sur procedure TForm1.DefaultHandler(var Msg);.
Ce cours présente un joli croquis qui, pour moi, explique mal ou pas assez, toujours est-il que je ne sais pas exactement ce que je dois utiliser.
Dernière question : j'ai besoin de mettre en place une gestion perso de messages basés sur WM_USER+x.
Faut-il que j'aille interférer avec la gestion système et tri dedans comme avec les deux exemples précédents, ou puis-je mettre en place un truc perso genre
Merci de vos lumières,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.RecupMessagesPerso(var Msg); begin // gestion de mes messages if Msg = WM_... then ... // // inherited; // plus besoin de ça ? end;
Partager