RM50Man
Messages postés314Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention20 août 2006
-
29 sept. 2005 à 23:28
RM50Man
Messages postés314Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention20 août 2006
-
30 sept. 2005 à 19:34
Comment on fait pour savoir si on a appuier sur un bouton qui se situe ds la fenetre principale.
Par exemple, si le bouton est ds une dialog on le recupere par son identificateur
case WM_COMMAND:
if(LOWORD(wParam) == ID_OK)
MessageBox("Bouton appuier" etc...
mais si le bouton fait partie de la fenetre principale on fait comment
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 29 sept. 2005 à 23:55
??????????????
Alors la, je comprends pas du tout le problème.
Tu as une boucle évenementielle dans ta fenetre principale de la meme
façon que si c'etait une boite de dialogue, donc tu recuperes ton
message WM_COMMAND de la meme facon.
Essaie d'eclaircir le probleme stp pour que je puisse te dire ce qui cloche.
Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
ebooserge
Messages postés137Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention16 juillet 20071 30 sept. 2005 à 00:16
la fenetre principale a sa fonction de gestion evenementielle.
LRESULT CALLBACK WindowProcedure(HWND,UINT,WPARAM,LPARAM)
la boite de dialogue (modale ou non) a egalement sa propre fonction de gestion evenementielle.
BOOL CALLBACK dialProcedure(HWND,UINT,WPARAM,LPARAM)
donc si l'utilisateur click sur un bouton de la fenetre, le message est envoyé a la 1ere fonction.
si c'est un controle de la boite de dialogue, alors le message est envoyé dans la 2e fonction.
dans la fonction WinMain, au niveau de la gestion de file de message tu dois remplacer le block
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 30 sept. 2005 à 00:33
Bien pour la partie déclaration du bouton, mais ce dont j'ai besoin pour t'aider, c'est de voir ta fonction evenementielle.
Ou du mois ces grandes lignes. Normalement, tu dois avoir:
switch(message)
{
case WM_CREATE:
...
case Wm_CLOSE:
...
case WM_DESTROY:
...
case WM_COMMAND:
{
if (LOWORD(wParam) == ID_BOUTON)
//Faire ton traitement ici
}
...
}
Mais apres, il faut voir ce que tu veu faire.
Si j'ai compris, tu as créé une fenetre dans laquelle une fenetre de dialogue apparait?
Si c'est ca, lors de la création de la fenetre de dialogue, tu dois lui
spécifier quel est la fonction de traitement des messages qu'elle doit
utiliser.
Si c'est pas ca, essaie de nous dire (ou montre nous) comment tu crées ta boite de dialogue.
Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]