Sign in Join
Wiki copytemporary

TRadioGroup/fr: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: TRadioGroup/fr

OldNewLine
1+Un **TRadioGroup** ![](/wiki-images/e/e8/Tradiogroup.png) est un groupe de [[TRadioButton/fr|boutons radio]] associés mais mutuellement exclusifs demandant à l'utilisateur de choisir l'une des alternatives proposées. C'est comme un [[TGroupBox/fr|TGroupBox]] avec des [[TRadioButton/fr|TRadioButtons]] intégrés.
2+
3+# Usage
4+
5+Pour utiliser un TRadioGroup sur une [[TForm/fr|fiche]], vous pouvez simplement le sélectionner dans l'[[Standard tab/fr|onglet Standard]] de la [[Component Palette/fr|palette de composants]] et le placer sur la fiche.
6+
7+## Petit exemple
8+
9+Les figures géométriques devraient être déssinées de manière aléatoire et selon le TRadioGroup de la fiche. RadioGroup1 détermine la forme, RadioGroup2 le nombre.
10+
11+- Créez une nouvelle application et placez deux TRadioGroups sur la fiche.
12+- modifiez dans l'inspecteur d'objet la propriété *Name* du *RadioGroup1* en *rgShape*, et *RadioGroup2* en *rgCount*.
13+- Modifiez en conséquence les intitulés Caption*de*rgShape*en*Shape*et de*rgCount*en*Count''.
14+- Ajoutez les RadioButtons pour *rgShape*:
15+ - dans l'inspecteur d'objet,; sélectionnez la propriété *Items* de *rgShape*.
16+ - cliquez sur le bouton \[...\], ce qui ouvre l'éditeur de liste de chaînes
17+ - Ecrivez *Lines Rectangles Ellipses* et validez en cliquant sur le bouton *OK*.
18+- Ajoutez à l'identique les RadioButtons pour *rgCount* en écrivant : *1 5 10 20 50 100*
19+- Définissez le premier RadioButton comme le *sélectionné en cours* en mettant la propriété *ItemIndex* de *rgShape* et *rgCount* de *-1* à *0*.
20+- Créez le gestionnaire de l'événement *OnClick* de *rgShape* en double-cliqnuant sur ce dernier.
21+- Utilisez aussi ce gestionnaire pour *rgCount* :
22+ - Dans l'inspecteur d'objet, sélectionnez *rgCount*.
23+ - Maintenant sélectionnez l'onglet *Events* dans l'inspecteur d'objet.
24+ - Allez vers l'événement *OnClick* et sélectionnez dans la ComboBox adjacente *rgShapeClick*
25+- à chaque fois que *rgShape* ou *rgCount* est cliquée, la fiche devrait être redessinée, aussi écrivez le code suivant dans le gestionnaire d'événement :
26+
27+``` pascal
28+procedure TForm1.rgShapeClick(Sender: TObject);
29+begin
30+ Repaint;
31+end;
32+```
33+
34+- A chaque fois que la fiche est redessinée, les formes devraient être redessinées :
35+ - Dans l'inspecteur d'objet sélectionnez *Form1*
36+ - sélectionnez l'onglet *Evénements*
37+ - cliquez sur le bouton \[...\] en face de l'événement *OnPaint*
38+ - le gestionnaires est créé, entrez le code suivant :
39+
40+``` pascal
41+procedure TForm1.FormPaint(Sender: TObject);
42+var
43+ i: Integer;
44+begin
45+ if TryStrToInt(rgCount.Items[rgCount.ItemIndex], i) then
46+ for i:=1 to i do begin
47+ Canvas.Pen.Color:=Random($1000000);
48+ Canvas.Brush.Color:=Random($1000000);
49+ case rgShape.Items[rgShape.ItemIndex] of
50+ 'Lines': Canvas.Line(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
51+ 'Rectangles': Canvas.Rectangle(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
52+ 'Ellipses': Canvas.Ellipse(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
53+ end;
54+ end;
55+end;
56+```
57+
58+- démarrez votre programme, il pourrait ressembler à ceci :
59+
60+![](/wiki-images/6/6a/ExampleTRadioGroup.png) Note : à chaque redessin, le résultat obtenu sera différent.
61+
62+# Voir aussi
63+
64+- [[doc:lcl/extctrls/tradiogroup.html|Doc. TRadioGroup]]
65+- [[TRadioButton/fr|TRadioButton]]
66+- [[TGroupBox/fr|TGroupBox]]
67+
68+---
69+*From the Free Pascal wiki, page "TRadioGroup/fr", as it stood on 2020-03-01 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history