Associer un bouton a un evenement

lamoueste Messages postés 76 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2007 - 23 sept. 2005 à 11:50
lamoueste Messages postés 76 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2007 - 23 sept. 2005 à 14:44
Bonjour alors j'arrive pas a associer un bouton a un evenement :( en fait l'appui sur ce bouton declenche l'appel d'une methode associée a la classe de la fenetre. J'aurai aime pouvoir generer un evenement avec un handle associe et me servir de ce handle pour :
WaitForSingleObject(hEv,m_DUREE_FLAG*60000);

hEv serait donc le handle de mon evenement :)

Le probleme pour le moment est que la fonction WaitForSingleObject me fait perdre la main :(

Voila si quelqu'un a une idee ou un exemple je l'en remercie d'avance :)

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 sept. 2005 à 12:11
WaitForSingleObject comme toute autre fonction de synchro est à employer dans un thread sinon bien sur bloques ton prog.

ciao...
BruNews, MVP VC++
0
lamoueste Messages postés 76 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2007
23 sept. 2005 à 13:25
ok mais j'aimerai savoir comment faire pour avoir la fonction de "scrutation" de l'evenement com thread car Visual C++ a declarer comme la fonction "evenementielle" du bouton comme methode de la classe de la fenetre :(

Merci d'avance :)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 sept. 2005 à 13:51
Désolé mais j'expose le principe du point de vue API où 'classe de la fenêtre' n'a pas de sens.
http://www.cppfrance.com/code.aspx?id=19169
Vois comme tout ceci est aisé en écrivant son code soi même sans attendre que VC++ ne déclare quoi que ce soit à ma place.

ciao...
BruNews, MVP VC++
0
lamoueste Messages postés 76 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2007
23 sept. 2005 à 14:07
Arf mais je peut pas change la structure du prog car il n'est pas de moi et il est tres important :( 2 dernieres petites questions :
- tu ne connais pas le nom de l'evenement associe par defaut a un bouton ( ca doit ressembler a : ON_IDC_STOP:BN_CLICKED )
- dans la declaration d'un evenement :
HANDLE hEv = CreateEvent(NULL,true,false,&dwEvenement);
A quoi sert le dernier parametre ? et mm chose pour :
HANDLE hThreadStop = CreateThread(NULL,0,ThreadStop,NULL,0,&dwThreadStop);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 sept. 2005 à 14:36
hevd = CreateEvent(0, 1, 0, 0); // MANUEL, NON SIGNALE
le dernier param est pour donner un nom à l'event, inutile à l'intérieur de ton prog où tu peux le manipuler par son handle que tu connais.
Dernier param de CreateThread sert à récupérer son threadID, pas obligatoire sur noyaux NT.
MFC doit nommer, si mes souvenirs sont bons, CClass::OnButtonClick() ou un bidule de ce genre.

ciao...
BruNews, MVP VC++
0
lamoueste Messages postés 76 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 3 juillet 2007
23 sept. 2005 à 14:44
Ok merci bcp je vais me debrouiller avec ca :)

++
0
Rejoignez-nous