TRadioGroup/fi
From Free Pascal wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
TRadioGroup on ryhmä toisiinsa liittyviä mutta toisiaan poissulkevia valintapainikkeita (vertaa TRadioButton, radiopainike) , joka edellyttää käyttäjän valita vain jokin (yksi) joukosta vaihtoehtoja. Se on kuin TGroupBox integroidulla radiopainikkeilla.
Käyttö
Jos haluataan käyttää TRadioGroup:a lomakkeella , niin se voidaan valita komponenttipaletin Standard-välilehdeltä ja asettaa se klikkaamalla lomakkeelle.
Pieni esimerkki
Tässä esimerkissä piirretään satubnnaiseesti geometrisiä muotoja jotka määräytyvät mitä on lomakkeella radiopainikkeista TRadioGroup valittu. RadioGroup1 määrittää kuvion ja RadioGroup2 määrän.
- Luodaan uusi sovellus ja sijoitetaan kaksi TRadioGroup:a lomakkeelle
- Muutetaan komponenttimuokkaimessa RadioGroup1 ominaisuus Name arvoon rgShape ja Caption ominaisuus arvoon Shape.
- Muutetaan RadioGroup2 ominaisuus Name arvoon rgCount ja Caption ominaisuus arvoon Count
- Lisätään radiopainikkeet rgShape:n:
- komponenttimuokkaimessa valitaan rgShape:n ominaisuus Items
- klikataan painiketta [...] niin Merkkijonojen muokkain-ikkuna avautuu
- kirjoitetaan siinä kolmelle eri riville tekstiLines, Rectangles ja Ellipses jonka jälkeen lopuksi painetaan OK'- painiketta.
- Tehdään samalla tavalla radiopainikkeet rgCount:lle mutta kirjoitetaan sisällöksi luvut 1,5,10,20,50 ja 100 8Jokainen luku omalle riville).
- Asetetaan kummassakin (rgShape ja rgCount) ensimmäinen radiopainike kuin valituksi, asettamalla kummankin ItemIndex ominaisuus arvoon nolla (0).
- Luodaan onClick-tapahtumankäsittelijä rgShape:lle kaksoisklikkaamalla sitä lomakkeella.
- Laitetaan rgCount käyttämään tätä tapahtumankäsittelijää:
- komponenttimuokkaimessa valitaan rgCount
- valitaan välilehti Tapahtumat
- Mennään OnClick tapahtumaan ja valitaan viereisestä yhdistelmäruudusta (TComboBox)rgShapeClick
- kun rgShape or rgCount klikataan niin lomaketta pitää päivittää, joten kirjoitetaan seuraava koodi in tapahtumakäsittelijään:
procedure TForm1.rgShapeClick(Sender: TObject);
begin
Repaint;
end;
- whenever the form is redrawn, the shapes should be drawn:
- in the Object Inspector select Form1
- select the tab Events
- click on the button [...] next to the event OnPaint
- the handler is created, enter the following code:
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;
- Aloita ohjelma, se voisi näyttää tältä:
Katso myös