TCheckGroup/fi
From Free Pascal wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
中文(中国大陆) (zh_CN) │
TCheckGroup on kontrolli, joka käsittää joukon valintaruutuja (TCheckBox)
fyysisesti ja loogisesti ryhmiteltyinä säiliökomponenttiin.
Käyttö
Jos halutaan käyttää Valintaruutujen ryhmää (TCheckGroup) lomakkeella , se voidaan valita komponenttipaletin Standard tab-välilehdeltä ja asettaa se klikkaamalla lomaketta
Pieni esimerkki
Tämä esimerkki muuttaa lomakkeen taustaväriä. Tämä taustaväri määritetään lisäämällä yksittäiset värikomponentit:
- Luodaan uusi sovellus ja laitetaan TCheckGroup lomakkeelle
- Komponenttimuokkaimessa vaihdetaan CheckGroup1:n Name ominaisuus arvoon cgRed ja Caption ominaisuus arvoon Red
- Lisätään valintaruudut cgRed:n:
- Komponenttimuokkaimessa valitaan cgRed:n ominaisuus Items
- Klikkaa painiketta ... ja merkkijonojen (tai CheckGroup:n) muokkain avautuu.
- Kirjoitetaan numerot 1 2 4 8 16 32 64 128 ja lopuksi paina OK painiketta.
- Kopioi tämä cgRed valintaruutujen ryhmä (TCheckGroup) klikkaamalla hiiren kakkospainikkeella ja valitse Kopioi (Copy).
- Klikkaa hiiren kakkospainikkeella lomakkeella ja valitse Liitä (Insert) mikä luo valintaruutujen ryhmän (TCheckGroup) nimeltään cgRed1
- Vaihda cgRed1:n Name ominaisuus arvoon cgGreen ja Caption ominaisuus arvoon Green.
- Liitä vielä kerran ja vaihda nytName ominaisuus arvoon cgBlue ja Caption ominaisuus arvoon Blue.
- Kun valintaruutuja klikataan niin värin pitäisi muuttua:
- Komponenttimuokkaimella luodaan OnItemClick tapahtumankäsittelijä cgRed :lle. Tapahtumat-välilehdellä OnItemClick kohdassa klikataan painiketta ...
- Valitaan valintaruutujen ryhmille cgGreen ja cgBlue myös tämä tapahtumankäsittelijä, valitsemalla niiden OnItemClick tapahtumaan yhdistelmäruudusta (combobox) cgRedItemClick.
- Täydennetään tapahtuman käsittelijän koodi lähdekoodieditorissa seuraavanlaiseksi:
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;
- Käynnistä ohjelma, sen pitäisi näyttää tämänkaltaiselta:
Katso myös