J'aimerais comprendre pourquoi certains messages sont accessibles depuis le traitement de la boucle principale Repeat Until et d'autres seulement dans le Callback et vice versa.
Il me semble que les messages liés à la cration des fenêtres ne sont pas accessibles-ok-mais pour les autres qu'en est-il?
exemple #WM_KEYDOWN REPEAT-UNTIL seulement
ET #WM_SETCURSOR CALLBACK seulement
Message Window!
C'est une bonne question et je vais essayer d'expliquer ce comportement. Sous Windows, chaque Thread a sa propre file d'évènements, et l'application les recupèrent et les gèrent grace aux commandes GetMessage_(), TranslateMessage_() et DispatchMessage_(). C'est ce que fait la commande WaitWindowEvent() du PureBasic. Jusque la, pas de soucis, tous les messages qui passent par cette voie sont gérés par la commande WaitWindowEvent(). Maintenant, certains messages sont postés directement à la callback de la fenetre (pour je ne sait quelle raison, probablement des raisons de performances ou de synchronizations) via SendMessage_(), au lieu d'utiliser PostMessage_(). Ces types d'évènement ne sont donc pas interceptés par WaitWindowEvent() car ils appellent directement la callback. Dans une appli en C, tu ne devrais pas voir la difference, parce que tu dois tout gerer dans la callback, mais en PB c'est pas la meme affaire.