2017-10-01 2 views
-8
#include<iostream> 
#include<windows.h> 

Using namespace std; 

Int main()  
{ 
    MSG Msg; 
    While(GetMessage (&Msg,NULL,0,0)){ 
     TranslateMessage(&Msg); 
     DispatchMessage(&Msg); 
    } 

    return 0; 
} 
+0

[Il existe des livres sur C++] (https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). Et de bons livres sur la programmation des fenêtres et WinAPI. Ceux-ci peuvent vous l'expliquer. – StoryTeller

+1

Ressemble à une pompe de message pour moi - votre meilleur pari est d'obtenir un livre sur la programmation de fenêtres en C++, comme celui écrit par feu David Kruglinski. – Bathsheba

+0

Copie possible de [Le guide et la liste définitifs du livre C++] (https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – ks1322

Répondre

1

Vous pouvez utiliser l'étiquette de code (parenthèse) pour placer votre code dans une zone formatée. Donc, dans la fonction principale, MSG Msg; initie un objet MSG appelé Msg.

La ligne suivante While(GetMessage (&Msg,NULL,0,0)){ est une boucle while qui répétera tout le code dans le bloc tant que vrai. Dans ce cas, cela signifie que le code à l'intérieur du bloc sera répété tant qu'il y aura des messages dans la file d'attente des messages du thread appelant. Les paramètres de cette fonction signifient que la sortie est dirigée vers l'objet Msg qui a été initié plus tôt, la valeur NULL signifie que les messages seront récupérés pour n'importe quelle fenêtre du thread. Les deux derniers paramètres sont pour le filtrage, mais comme ils sont tous deux à 0, cela signifie que tous les messages seront récupérés (pas de filtre).

La fonction TranslateMessage TranslateMessage(&Msg); est utilisée pour convertir les entrées du clavier en messages. Si un message est traduit, il est ajouté à la file d'attente de threads.

La fonction DispatchMessage DispatchMessage(&Msg); effectue le traitement réel du message et est utilisée pour envoyer des messages à la fonction correspondante.

Le but de tout cela est essentiellement une file d'attente de messages pour capturer et gérer les événements/entrées et communiquer entre les fenêtres/les têtes si nécessaire.