Sign in Join
Wiki copytemporary

TRadioGroup/de: what changed

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

OldNewLine
11Diese Seite erklärt, wie man die [[doc:lcl/extctrls/tradiogroup.html|TRadioGroup]] Komponente verwendet. Auf etwas klicken bedeutet immer ein Linksklick, ein Rechtsklick wird explizit erwähnt.
22
33## Beschreibung
44
55Eine Gruppe RadioButtons, aus dieser der Benutzer eine Auswahl treffen kann. Die Komponente ist wie eine [[TGroupBox/de|TGroupBox]] mit integrierten [[TRadioButton/de|TRadioButtons]].
66
7-<figure>
8-<img src="Comp_Standard_TRadioGroup.png" title="Comp_Standard_TRadioGroup.png" />
9-<figcaption>Comp_Standard_TRadioGroup.png</figcaption>
10-</figure>
7+![](/wiki-images/7/79/Comp_Standard_TRadioGroup.png)
118
129## Verwendung
1310
1411Um eine [[doc:lcl/extctrls/tradiogroup.html|TRadioGroup]] auf einem [[TForm/de|Formular]] zu nutzen, kann man sie einfach auf der Komponentenpalette *Standard* auswählen und, mit einem Klick auf das Formular, platzieren.\
1512
1613#### Kleines Beispiel
1714
1815Es sollen geometrische Figuren zufällig und in Abhängigkeit der TRadioGroups auf das Formular gezeichnet werden. RadioGroup1 bestimmt die Form, RadioGroup2 die Anzahl.
1916
2017- erstellen Sie eine neue Anwendung und platzieren Sie zwei TRadioGroups auf Ihrem Formular
2118- ändern Sie im Objektinspektor die Eigenschaft Name von *RadioGroup1* zu *rgShape* und die von *RadioGroup2* zu *rgCount*
2219- ändern Sie identisch Caption von *rgShape* zu *Shape* und die von *rgCount* zu *Count*
2320- fügen Sie die Radiobuttons für *rgShape* hinzu:
2421 - wählen Sie im Objektinspektor die Eigenschaft *Items* von *rgShape*
2522 - klicken Sie auf den Button \[...\], der Zeichenketteneditor öffnet sich
2623 - Schreiben Sie untereinander *Lines Rectangles Ellipses* und beenden Sie die Eingabe mit Button *OK*
2724- fügen Sie identisch die Radiobuttons für *rgCount* hinzu (untereinander geschrieben): *1 5 10 20 50 100*
2825- setzen Sie jeweils den ersten Radiobutton als *aktuell gewählt*, indem Sie im Objektinspektor die Eigenschaft *ItemIndex* von *rgShape* und *rgCount* von *-1* auf *0* stellen
2926- erstellen Sie den *OnClick* Eventhandler von *rgShape*, indem Sie *rgShape* doppelklicken
3027- nutzen Sie diesen Eventhandler ebenfalls für *rgCount*:
3128 - wählen Sie im Objektinspektor *rgCount*
3229 - nun wählen Sie im Objektinspektor den Reiter *Ereignisse*
3330 - gehen Sie zum Ereignis *OnClick* und wählen in der daneben befindlichen Combobox *rgShapeClick* aus
3431- immer, wenn *rgShape* oder *rgCount* geklickt wird, soll das Formular neu gezeichnet werden, schreiben Sie daher folgenden Code in den Eventhandler:
3532
3633``` pascal
3734procedure TForm1.rgShapeClick(Sender: TObject);
3835begin
3936 Repaint;
4037end;
4138```
4239
4340- immer wenn das Formular neu gezeichnet wird, sollen die geometrischen Formen gezeichnet werden:
4441 - gehen Sie im Objektinspektor auf *Form1*
4542 - wählen Sie den Reiter *Ereignisse*
4643 - klicken Sie auf den Button \[...\] neben dem Ereignis *OnPaint*
4744 - der Eventhandler wird erstellt, tragen Sie folgenden Code ein:
4845
4946``` pascal
5047procedure TForm1.FormPaint(Sender: TObject);
5148var
5249 i: Integer;
5350begin
5451 if TryStrToInt(rgCount.Items[rgCount.ItemIndex], i) then
5552 for i := 1 to i do begin
5653 Canvas.Pen.Color := Random($1000000);
5754 Canvas.Brush.Color := Random($1000000);
5855 case rgShape.Items[rgShape.ItemIndex] of
5956 'Lines': Canvas.Line( Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
6057 'Rectangles': Canvas.Rectangle(Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
6158 'Ellipses': Canvas.Ellipse( Random(ClientWidth), Random(ClientHeight), Random(ClientWidth), Random(ClientHeight));
6259 end;
6360 end;
6461end;
6562```
6663
6764- starten Sie Ihre Anwendung, so könnte sie aussehen:
6865
69-<figure>
70-<img src="ExampleTRadioGroup.png" title="ExampleTRadioGroup.png" />
71-<figcaption>ExampleTRadioGroup.png</figcaption>
72-</figure>
66+![](/wiki-images/6/6a/ExampleTRadioGroup.png)
7367
7468## Siehe auch
7569
7670- [[TRadioButton/de|TRadioButton]]
7771- [[TGroupBox/de|TGroupBox]]
7872
7973---
8074*From the Free Pascal wiki, page "TRadioGroup/de", as it stood on 2020-03-01 after a change by Trev, 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