Bonjour comment faire avec un boutton pour que au 1er click il me fasse une action et au 2em click une autre action?
Version imprimable
Bonjour comment faire avec un boutton pour que au 1er click il me fasse une action et au 2em click une autre action?
Je dirais qu'il te faut gérer un état applicatif de ton bouton. Quelque chose comme cela :
La variable membre de ta classe m_etat doit être initialisée à 0 dans le constructeur (ou quelque part ailleurs)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 CMaclasse::OnButtonClick() { if(m_etat == 0) { do_action_0() m_etat = 1; } else if(m_etat == 1) { do_action_1() m_etat = 0; } else { // etat non géré } }
y a t'il une commande pour quitter l'execution d'un bouton sous c++ builder
Oui, comme dans n'importe quelle fonction:Citation:
y a t'il une commande pour quitter l'execution d'un bouton sous c++ builder
Code:return;
Salut
Le mieux serait quand même de développer et commuter (enchaîner) les méthodes.
Ca évite d'avoir à gérer un flag !
A la fin de la méthode 1, on passe la méthode 2 comme OnClick du Bouton.
Si on doit gérer en mode flip-flop, dans ce que cas à la fin de la méthode 2 on lui redonne la méthode 1.
A plus !
Tu crée deux méthodes OnClick pour ton bouton.
tu affecte la méthode 1 au Onclick de ton bouton
à la fin de la méthode 1, tu affecte la méthode 2 au OnClick de ton bouton
à la fin de la méthode 2, tu affecte la méthode 1 au OnClick de ton bouton
et ainsi, au premier click, il fera la méthode 1 et au second la méthode 2.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 // Méthode 1, celle affecté au départ au bouton void __fastcall TForm::OnClickBouton1(TObject *Sender) { // Code de ta fonction ... // Tu affecte la méthode 2 au OnClick de ton bouton Bouton->OnClick = OnClickBouton2; } // Méthode 2 void __fastcall TForm::OnClickBouton2(TObject *Sender) { // Code de ta fonction ... // Tu réaffecte la méthode 1 à ton bouton Bouton->OnClick = OnClickBouton1; }