TRadioGroup/fi
Deutsch · English · Français · Suomi · Русский · 日本語
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
From the Free Pascal wiki, page "TRadioGroup/fi", as it stood on 2019-11-21 after a change by Djzepi, 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.