Bonjour,
J'ai placé 5 CheckBox sur un form comment à l'aide de 2 boutons passer de l'un à l'autre dans un sens ou dans l'autre?
merci
Meilleurs voeux à tous
Bonjour,
J'ai placé 5 CheckBox sur un form comment à l'aide de 2 boutons passer de l'un à l'autre dans un sens ou dans l'autre?
merci
Meilleurs voeux à tous
Salut,
Soit 5 Checkbox nommé CheckBox1 à CheckBox5 et 2 bouton (BtnPrevious et BtnNext). On peut imaginer ce code (j'ai pris soin de mettre le focus sur le Checkbox1 par défaut pour illustrer mon exemple).
En espérant que celà puisse t'aider
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,Registry, StdCtrls; type TForm1 = class(TForm) BtnPrevious: TButton; BtnNext: TButton; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; CheckBox5: TCheckBox; procedure FormCreate(Sender: TObject); procedure BtnPreviousClick(Sender: TObject); procedure BtnNextClick(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; leCheckboxSelectionne:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Form1.ActiveControl:=CheckBox1; BtnPrevious.Enabled:=false; leCheckboxSelectionne:=1; end; procedure TForm1.BtnPreviousClick(Sender: TObject); begin TCheckBox(Form1.FindComponent('CheckBox'+IntToStr(leCheckboxSelectionne-1))).SetFocus; leCheckboxSelectionne:=leCheckboxSelectionne-1; if leCheckboxSelectionne = 1 then BtnPrevious.Enabled:=false else BtnNext.Enabled:=true; end; procedure TForm1.BtnNextClick(Sender: TObject); begin TCheckBox(Form1.FindComponent('CheckBox'+IntToStr(leCheckboxSelectionne+1))).SetFocus; leCheckboxSelectionne:=leCheckboxSelectionne+1; if leCheckboxSelectionne = 5 then BtnNext.Enabled:=false else BtnPrevious.Enabled:=true; end; end.
A+
Ahah ... Un petit Résolu
j'ai modifiépar
Code : Sélectionner tout - Visualiser dans une fenêtre à part ....SetFocus
Sinon c'est ok
Code : Sélectionner tout - Visualiser dans une fenêtre à part TCheckBox(Form1.FindComponent('CheckBox'+IntToStr(leCheckboxSelectionne+1))).Checked:=true;
Il faut que je trouve maintenant comment éviter le plantage qui se fait un moment et remettre à false le CheckBox qud on passe au suivant
AT
Note :
Qud je dis plantage s'est simplement remettre à false au fur et à mesure les CheckBox qud la suivante est cochée.
Re,
Un truc du genre ne te conviens pas :
A+
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,Registry, StdCtrls; type TForm1 = class(TForm) BtnPrevious: TButton; BtnNext: TButton; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; CheckBox5: TCheckBox; procedure FormCreate(Sender: TObject); procedure BtnPreviousClick(Sender: TObject); procedure BtnNextClick(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; leCheckboxSelectionne:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin BtnPrevious.Enabled:=false; leCheckboxSelectionne:=1; CheckBox1.Checked:=true; end; procedure TForm1.BtnPreviousClick(Sender: TObject); var i:integer; begin TCheckBox(Form1.FindComponent('CheckBox'+IntToStr(leCheckboxSelectionne-1))).Checked:=true; TCheckBox(Form1.FindComponent('CheckBox'+IntToStr(leCheckboxSelectionne))).Checked:=false; leCheckboxSelectionne:=leCheckboxSelectionne-1; if leCheckboxSelectionne = 1 then BtnPrevious.Enabled:=false else BtnNext.Enabled:=true; end; procedure TForm1.BtnNextClick(Sender: TObject); begin TCheckBox(Form1.FindComponent('CheckBox'+IntToStr(leCheckboxSelectionne+1))).Checked:=true; TCheckBox(Form1.FindComponent('CheckBox'+IntToStr(leCheckboxSelectionne))).Checked:=false; leCheckboxSelectionne:=leCheckboxSelectionne+1; if leCheckboxSelectionne = 5 then BtnNext.Enabled:=false else BtnPrevious.Enabled:=true; end; end.
C'est parfait
J'avais une solution mais dans le compliqué !!
AT
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager