TCheckGroup/fr
From Free Pascal wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Un TCheckGroup est un contrôle qui comporte un groupe d'articles avec des TCheckBox placé dans un composant conteneur.
Usage
Pour utiliser un TCheckGroup sur une fiche, vous pouvez simplement le sélectionner dans l'onglet Standard de la palette de composants et le placer en cliquant sur la fiche.
Petit exemple
Il modifie la couleur de fond d'une fiche. Cette couleur est obtenue en additionnant les composants individuelles de couleur :
- Créez une nouvelle application et place un TCheckGroup sur votre fiche.
- Dans l'inspecteur d'objet, modifiez la propriété Name en cgRed et Caption en Red.
- Ajoutez les CheckBox dans cgRed:
- Dans l'inspecteur d'objet, sélectionnez la propriété Items de cgRed.
- Cliquez sur le bouton [...], l'éditeur de liste de chaînes s'ouvre.
- Entrez les valeurs 1 2 4 8 16 32 64 128 sur autant de lignes puis compléter en cliquant sur le bouton OK.
- Copier ce TCheckGroup à l'aide du clic droit sur cgRed et en cliquant après sur Copy.
- Cliquez droit sur la fiche puis sur Insérer, ce qui crée un TCheckGroup nommé cgRed1.
- Maintenant modifiez Name de cgRed1 en cgGreen et l'intitulé en Green.
- Recommencez la copie pour créer le TCheckGroup nommé cgBlue intitulé Blue.
- A chaque fois qu'un CheckBox est cliqué, la couleur changera :
- Dans l'inspecteur d'objet, créez le gestionnaire d'événement OnItemClick de cgRed en cliquant sur le bouton [...] en face de l'événement OnItemClick
- Sélectionnez aussi pour cgGreen et cgBlue ce gestionnaire d'événement, en choisissant pour chacun le gestionnaire cgRedItemClick dans le ComboBox en face de l'événement OnItemClick (le gestionnaire d'événement est ainsi partagé entre les trois composants).
- Ecrivez le code suivant dans le gestionnaire d'événement :
procedure TForm1.cgRedItemClick(Sender: TObject; Index: integer);
var
i, c: Integer;
begin
c := $000000; // first the color is black
for i := 0 to 7 do begin // test Items 0..7 of all Checkgroups
if cgRed.Checked[i] then c := c + 1 shl i; // amount of red $000000..$0000FF
if cgGreen.Checked[i] then c := c + 1 shl (i + 8); // amount of green $000000..$00FF00
if cgBlue.Checked[i] then c := c + 1 shl (i + 16); // amount of blue $000000..$FF0000
end;
Color := c;
end;
- Démarrez votre programme, il devrait ressembler à ceci :
Voir aussi