TRadioGroup/fr
From Free Pascal wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
Un TRadioGroup est un groupe de boutons radio associés mais mutuellement exclusifs demandant à l'utilisateur de choisir l'une des alternatives proposées. C'est comme un TGroupBox avec des TRadioButtons intégrés.
Usage
Pour utiliser un TRadioGroup sur une fiche, vous pouvez simplement le sélectionner dans l'onglet Standard de la palette de composants et le placer sur la fiche.
Petit exemple
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.
- Créez une nouvelle application et placez deux TRadioGroups sur la fiche.
- modifiez dans l'inspecteur d'objet la propriété Name du RadioGroup1 en rgShape, et RadioGroup2 en rgCount.
- Modifiez en conséquence les intitulés Caption de rgShape en Shape et de rgCount en Count.
- Ajoutez les RadioButtons pour rgShape:
- dans l'inspecteur d'objet,; sélectionnez la propriété Items de rgShape.
- cliquez sur le bouton [...], ce qui ouvre l'éditeur de liste de chaînes
- Ecrivez Lines Rectangles Ellipses et validez en cliquant sur le bouton OK.
- Ajoutez à l'identique les RadioButtons pour rgCount en écrivant : 1 5 10 20 50 100
- Définissez le premier RadioButton comme le sélectionné en cours en mettant la propriété ItemIndex de rgShape et rgCount de -1 à 0.
- Créez le gestionnaire de l'événement OnClick de rgShape en double-cliqnuant sur ce dernier.
- Utilisez aussi ce gestionnaire pour rgCount :
- Dans l'inspecteur d'objet, sélectionnez rgCount.
- Maintenant sélectionnez l'onglet Events dans l'inspecteur d'objet.
- Allez vers l'événement OnClick et sélectionnez dans la ComboBox adjacente rgShapeClick
- à 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 :
procedure TForm1.rgShapeClick(Sender: TObject);
begin
Repaint;
end;
- A chaque fois que la fiche est redessinée, les formes devraient être redessinées :
- Dans l'inspecteur d'objet sélectionnez Form1
- sélectionnez l'onglet Evénements
- cliquez sur le bouton [...] en face de l'événement OnPaint
- le gestionnaires est créé, entrez le code suivant :
procedure TForm1.FormPaint(Sender: TObject);
var
i: Integer;
begin
if TryStrToInt(rgCount.Items[rgCount.ItemIndex], i) then
for i:=1 to i do begin
Canvas.Pen.Color:=Random($1000000);
Canvas.Brush.Color:=Random($1000000);
case rgShape.Items[rgShape.ItemIndex] of
'Lines': Canvas.Line(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
'Rectangles': Canvas.Rectangle(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
'Ellipses': Canvas.Ellipse(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
end;
end;
end;
- démarrez votre programme, il pourrait ressembler à ceci :
Note : à chaque redessin, le résultat obtenu sera différent.
Voir aussi