Bonjour à Tous,
J'utilise Visual C++2005 express en Winform.
J'ai un probleme sur l'action d'un bouton, si je laisse le doigt appuyé.
DEROULEMENT :
Quant je click sur un button, je déclenche un dé et un 1er joueur joue.
2émé click pour le second joueur.
3 émé click pour le troisieme joueur .... et xxxx joueur.
voici le code :
jusque la tous va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 // JOUER AU JEU DE L'OIE. private: System::Void butJouer_Click(System::Object^ sender, System::EventArgs^ e) { // /* switch (zStatus) { case 1: LANCEDES(); // joue. for(int i =0; i < 2; i++) { cLabelMessage[i]->ForeColor = MesVariables::gCouleur[6] ; } break; case 2: pbDes->Visible = false ; // Vu ou Passe. for(int i =0; i < 2; i++) { cLabelMessage[i]->BackColor = MesVariables::gCouleur[0] ; cLabelMessage[i]->ForeColor = MesVariables::gCouleur[7] ; } break; case 3: break; case 4: break; case 5: FORM_SECONDE_PARTIE_ACTIVATE() ; return ; } AIGUILLAGE(); // */ }
Je peux jouer aussi avec la touche ENTREE du clavier, et encore celà fonctionne bien.
Mon probleme, si je garde la touche ENTREE enfoncé, les joueurs défile sans arret et bien sur on ne suis plus le jeu.
J'ai mis mon code comme dans la faq dans : voir code.
La plus de probleme de répétition de la touche ENTREE, mais bien sur , je ne peux plus jouer avec un click souris.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 private: System::Void butJouer_KeyUp(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { /* FAQ - Visual C++, WinForm. Suite à une action utilisateur sur le clavier, nous devons parfois effectuer un long traitement. Et nous souhaiterions que les actions clavier ne soient pas enregistrées pendant ce traitement. Cette suspension peut être implémentée de la façon suivante : */ //Exemple après l'appui de la touche "Enter" if (e->KeyCode == Keys::Enter) { //Arrêter la capture d'événements clavier sur le contrôle this->butJouer->KeyUp -= gcnew KeyEventHandler(this, &Form1::butJouer_KeyUp); //Traitements longs Mon code si dessus ICI. //************* //Reprendre la capture d'événements clavier sur le contrôle this->butJouer->KeyUp += gcnew KeyEventHandler(this, &Form1::butJouer_KeyUp); } }
J'espére étre claire dans mon explication.
Conclusion :
Je cherche a jouer avec la souris et avec le clavier mais en évitant la répétition du clavier.
Merci D'avance.
Partager