Sign in Join
Wiki copytemporary

TRadioGroup/fi: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11**TRadioGroup** ![](/wiki-images/e/e8/Tradiogroup.png) on ryhmä toisiinsa liittyviä mutta toisiaan poissulkevia [[TRadioButton/fi|valintapainikkeita (vertaa TRadioButton, radiopainike)]] , joka edellyttää käyttäjän valita vain jokin (yksi) joukosta vaihtoehtoja. Se on kuin [[TGroupBox]] integroidulla [[TRadioButton/fi|radiopainikkeilla]].
22
33## Käyttö
44
55Jos haluataan käyttää TRadioGroup:a [[TForm|lomakkeella]] , niin se voidaan valita [[Component Palette/fi|komponenttipaletin]] [[Standard tab/fi|Standard-välilehdeltä]] ja asettaa se klikkaamalla lomakkeelle.
66
77### Pieni esimerkki
88
99Tä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.
1010
1111- Luodaan uusi sovellus ja sijoitetaan kaksi TRadioGroup:a lomakkeelle
1212- Muutetaan komponenttimuokkaimessa *RadioGroup1* [[Property/fi|ominaisuus]] *Name* arvoon *rgShape* ja *Caption* ominaisuus arvoon *Shape*.
1313- Muutetaan *RadioGroup2* ominaisuus *Name* arvoon *rgCount* ja *Caption* ominaisuus arvoon *Count*
1414- Lisätään radiopainikkeet *rgShape*:n:
1515 - komponenttimuokkaimessa valitaan *rgShape*:n ominaisuus *Items*
1616 - klikataan painiketta \[...\] niin *Merkkijonojen muokkain*-ikkuna avautuu
1717 - kirjoitetaan siinä kolmelle eri riville teksti*Lines*, *Rectangles* ja *Ellipses* jonka jälkeen lopuksi painetaan ''OK'- painiketta.
1818- Tehdään samalla tavalla radiopainikkeet *rgCount*:lle mutta kirjoitetaan sisällöksi luvut 1,5,10,20,50 ja 100 8Jokainen luku omalle riville).
1919- Asetetaan kummassakin (*rgShape* ja *rgCount*) ensimmäinen radiopainike kuin valituksi, asettamalla kummankin ItemIndex ominaisuus arvoon nolla (*0*).
2020- Luodaan *onClick*-tapahtumankäsittelijä *rgShape*:lle kaksoisklikkaamalla sitä lomakkeella.
2121- Laitetaan *rgCount* käyttämään tätä tapahtumankäsittelijää:
2222 - komponenttimuokkaimessa valitaan *rgCount*
2323 - valitaan välilehti *Tapahtumat*
2424 - Mennään *OnClick* tapahtumaan ja valitaan viereisestä yhdistelmäruudusta (TComboBox)*rgShapeClick*
2525- kun *rgShape* or *rgCount* klikataan niin lomaketta pitää päivittää, joten kirjoitetaan seuraava koodi in tapahtumakäsittelijään:
2626
2727``` pascal
2828procedure TForm1.rgShapeClick(Sender: TObject);
2929begin
3030 Repaint;
3131end;
3232```
3333
3434- whenever the form is redrawn, the shapes should be drawn:
3535 - in the Object Inspector select *Form1*
3636 - select the tab *Events*
3737 - click on the button \[...\] next to the event *OnPaint*
3838 - the handler is created, enter the following code:
3939
4040``` pascal
4141procedure TForm1.FormPaint(Sender: TObject);
4242var
4343 i: Integer;
4444begin
4545 if TryStrToInt(rgCount.Items[rgCount.ItemIndex], i) then
4646 for i:=1 to i do begin
4747 Canvas.Pen.Color:=Random($1000000);
4848 Canvas.Brush.Color:=Random($1000000);
4949 case rgShape.Items[rgShape.ItemIndex] of
5050 'Lines': Canvas.Line(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
5151 'Rectangles': Canvas.Rectangle(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
5252 'Ellipses': Canvas.Ellipse(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
5353 end;
5454 end;
5555end;
5656```
5757
5858- Aloita ohjelma, se voisi näyttää tältä:
5959
60-<figure>
61-<img src="ExampleTRadioGroup.png" title="ExampleTRadioGroup.png" />
62-<figcaption>ExampleTRadioGroup.png</figcaption>
63-</figure>
60+![](/wiki-images/6/6a/ExampleTRadioGroup.png)
6461
6562## Katso myös
6663
6764- [[doc:lcl/extctrls/tradiogroup.html|TRadioGroup doc]]
6865- [[TRadioButton/fi|TRadioButton]]
6966- [[TGroupBox/fi|TGroupBox]]
7067
7168---
7269*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](/wiki-contact).*

Back to history