Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : les messages en API [ Archives / API ] (Adeon)

mardi 13 avril 2004 à 18:13:32 | les messages en API

Adeon

salut!
En API il intervient toujours cette partie de codes qui suit qui gere les messages fenetres.
J'aimerai que qq m'explique ce que font les fonctions TranslateMessage() et DispatchMessage() individuelement car j'ai remarqué que le programme agit de la meme maniere avec ou sans TranslateMessage().
J'aimerai aussi qu'on me dise a quel moment est appelée la procedure de la fenetre car je ne vois aucun code du type "NomDeLaProcedureDeFenetre();"
voici la partie de programme:



SetTimer(identifiant_fenetre,NULL,1000,NULL); //la je comprends que toutes les seconde le message WM_TIMER est envoyé

MSG message_gestion; // quel est la difference entre une variable MSG et UINT ?
while( GetMessage(&message_gestion,NULL,0,0) == TRUE ) // tant que GetMessage ne recoit pas WM_QUIT alors... ( arretez moi si je me trompe )
{
TranslateMessage(&message_gestion) // les deux fonctions que je comprends pas
DispatchMessage (&message_gestion)
}


Salut et merci bcp d'avance pour votre reponse.

Adeon

mardi 13 avril 2004 à 18:21:36 | Re : les messages en API

BruNews

Administrateur CodeS-SourceS
Petzold au chapitre 3 explique tout cela:
http://brunews.free.fr/brunews/download/CP5.zip
http://brunews.free.fr/brunews/download/CP5Sources.zip

ciao...
BruNews, Admin CS, MVP Visual C++

mardi 13 avril 2004 à 21:03:09 | Re : les messages en API

ymca2003

MSG est une structure et UINT est un entier non signé.

GetMessage() attend qu'un message arrive dans la queue et rempli les champs de la structure.

TranslateMessage sert à transformer des combinaisons du type (WM_KEYDOWN - WM_KEY_UP) en WM_CHAR.
DispatchMessage sert à tranmettre le message à la WndProc (fait par le système)

comment?

dans la structure MSG, il y a le champ hwnd, qui est la fenêtre a qui est destinnée le message. Or à chaque fenêtre est associé une classe de fenêtre et une WndProc (la classe de fenêtre est donnée lors de CreateWindow et la WndProc lors de RegisterClass).

le système sait donc quelle fonction appeler.

mercredi 14 avril 2004 à 09:55:57 | Re : les messages en API

Adeon

merci bcp ymca
Adeon



Cette discussion est classé dans : message, gestion, messages, api, translatemessage


Répondre à ce message

Sujets en rapport avec ce message

Les messages envoyés aux fenêtres dans une API Windows [ par totoui ] Bonjour, je poste ici en espérant que ce soit le bon endroit (difficile de rechercher "message de fenêtres")...Je programme une API en C++ sans MFC so Message windows et les services [ par slfs ] Bonjour,Je dois convertir une application windows en un service.J'ai des soucis pour trouver l'équivalent des messages windows (fonction postmessage,. Gestion et affichage de bitmaps (API Windows). [ par _michel ] Bonjour à tous,J'ai un problème avec les bitamps:je voudrai conserver en mémoire pendant l'execution de mon programme la "capture d'écran", pour l'aff GetMessage d'un HWND [ par kiki67100 ] Bonjour tousJ'aimerais recupere les message d'une api dabord je recupere le HWND via HWND API  = FindWindow(0,"API");  Puis j'aimerais recuperer les m message de la pile [ par cyber_al ] bonjoursj'ai une petitte question a poser concernant les messages de la pile ,explications:mon application principale me permet de lancer une dll avec LAN Socket et multi thread [ par RV2931 ] Bonjour, Je suis en train d'essayer de faire un chat en réseau, chaque machine est client/serveur sur un port. Mais on m'a conseillé de faire un threa [C++ API win] fonction membre pour traiter des messages [ par THEwarrior333 ] [C++ API windows] Bonjour!Comment faire pour que la fonction callback de traitement des messages soit membre d'une classe? Car je suis confronté au pr API Windows, gestion de WM_COMMAND [ par coucou_le_minou ] Bonjour, tout d'abord pardonnez moi si mon message ne correspond pas a la rubrique choisie, j'ai eu quelques soucis a cerner la categorie de mon probl files de messages [ par spark01 ] Bonjours Je voudrai savoir si la taille d'une file de message est fixe ou dynami Gérer les messages d'erreur de TClientSocket [ par internetservices ] Salut,je suis en train de créer un programme en C++ utilisant les sockets. J'ai lu que pour éviter d'avoir le message par défaut de windows "raised ex


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.