IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

pb evenement prolonger


Sujet :

C++/CLI

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par d�faut pb evenement prolonger
    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 :
    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();
    // */
    	}
    jusque la tous va bien.
    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.
    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);
    			}
    	}
    La plus de probleme de r�p�tition de la touche ENTREE, mais bien sur , je ne peux plus jouer avec un click souris.

    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.

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    t'as qu'� mettre un boolean dans la fonction
    s'il est � vrai, tu peux jouer et tu le positionnes � faux
    s'il est faux, tu peux pas jouer
    et une fois que ton traitement est termin�, tu repasses le boolean � vrai
    j'ai pas trop compris pourquoi tu pouvais plus jouer avec la souris ?

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par d�faut pb evenement - rebond touche
    Bonjour,

    OK, probl�me r�solu. J'utilis� un boolean mais de tres mauvaise fa�on. le boolean n'avait aucune utilit�.. En cherchant un peu, c'est tres simple...
    Dans mon evenement click, ajout de 2 lignes avec zClav en boolean.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private: System::Void butJouer_Click(System::Object^ sender, System::EventArgs^ e) {
     
    			if(zClav == true) { return ; }
    			zClav = true ;
     
    			switch (zStatus) {
    				case 1:
    Dans mon evenement KeyUp, seul le passage � false de la boolean est utile.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    private:System::Void butJouer_KeyUp(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) {
    			zClav = false ;
    	}
    J'�crie ma solution car �a peut �tre utile � d'autre personne du forum.

    Merci encore � Nicolas.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [VB6] Interception des évènement Copier/Couper/Coller
    Par youtch dans le forum VB 6 et ant�rieur
    R�ponses: 5
    Dernier message: 18/10/2002, 17h09
  2. [VB6] Evenement validate
    Par grosjej dans le forum VB 6 et ant�rieur
    R�ponses: 4
    Dernier message: 05/09/2002, 15h46
  3. Evenement Change
    Par PierDIDI dans le forum Composants VCL
    R�ponses: 3
    Dernier message: 28/08/2002, 10h08
  4. develloppement avec ORBit: service d'evenement
    Par belmontv dans le forum CORBA
    R�ponses: 3
    Dernier message: 06/06/2002, 22h56
  5. Generation d'evenements a une date precise
    Par pascalzzz dans le forum MFC
    R�ponses: 2
    Dernier message: 04/06/2002, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo