Sign in Join
Wiki copytemporary

TToggleBox/de: what changed

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

Title: TToggleBox/de

OldNewLine
1+Diese Seite erklärt, wie man die [[doc:lcl/stdctrls/ttogglebox.html|TToggleBox]] Komponente verwendet. Auf etwas klicken bedeutet immer ein Linksklick, ein Rechtsklick wird explizit erwähnt.
2+
3+## Beschreibung
4+
5+Ein Schriftfeld, das aktiviert oder deaktiviert ist. Es ähnelt einem [[TButton/de|TButton]], allerdings wird es mit einem Klick aktiviert oder deaktiviert.
6+
7+![](/wiki-images/a/a9/Comp_Standard_TToggleBox.png)
8+
9+## Verwendung
10+
11+Um eine [[doc:lcl/stdctrls/ttogglebox.html|TToggleBox]] auf einem [[TForm/de|Formular]] zu nutzen, kann man es einfach auf der Komponentenpalette *Standard* auswählen und, mit einem Klick auf das Formular, platzieren.\
12+Sie können überall in Ihrem Quellcode den Status der ToggleBox, ob aktiv oder inaktiv, mit **`Status := <ToggleBox>.Checked;`** abfragen. Dabei können Sie *Checked* wie ein normalen [[Boolean/de|Boolean]] benutzen. Somit ist auch die Zuweisung **`<ToggleBox>.Checked := True;`** möglich.
13+
14+### Ein einfaches Beispiel
15+
16+- Erstellen Sie eine neue Anwendung und legen Sie auf dem Formular drei TToggleBoxen ab.
17+- Ändern Sie die Captions von ToggleBox1..3 zu *Rot*, *Grün* und *Blau* und deren Namen zu *tbRed*, *tbGreen* und *tbBlue*.
18+- Fügen Sie Ihrem Formular noch ein [[TButton/de|TButton]] hinzu und ändern seine Beschriftung (Caption) zu *Neu Zeichnen* und seinen Namen zu *btnPaint*.
19+- Erstellen Sie den *OnClick* Eventhandler für den TButton, indem Sie im Objektinspektor auf den Reiter Ereignisse klicken, das Ereignis *OnClick* auswählen und den Button \[...\] klicken oder den Button im Formular doppelklicken.
20+- Fügen Sie folgenden Code hinzu:
21+
22+``` pascal
23+procedure TForm1.btnPaintClick(Sender: TObject);
24+var
25+ aColor: TColor;
26+begin
27+ aColor := 0; //Hintergrundfarbe von Form1 wird entsprechend der Toggleboxen festgelegt
28+ if tbRed.Checked then aColor := aColor + $0000FF;
29+ if tbGreen.Checked then aColor := aColor + $00FF00;
30+ if tbBlue.Checked then aColor := aColor + $FF0000;
31+ Color := aColor; //die Änderung der Eigenschaft <Formular>.Color bewirkt ein Neuzeichnen des Formulars
32+end;
33+```
34+
35+- Starten Sie Ihr Programm, es sollte ungefähr so aussehen:
36+
37+![](/wiki-images/8/87/ToggleBoxExample1.png) -\> ![](/wiki-images/a/a7/ToggleBoxExample2.png)
38+
39+### Verwendung eines Ereignisses
40+
41+Der Unterschied zu dem vorherigen Beispiel besteht darin, dass wir das Formular nicht über einen Buttonklick neu zeichnen lassen, sondern schon durch das Anklicken eines der ToggleBoxen selber.\
42+Sie können das vorhergehende Beispiel modifizieren, indem Sie den Button und dessen *OnClick*-Eventhandler im Quelltext löschen. Sie können aber auch einfach ein neues Beispiel erstellen:
43+
44+- Erstellen Sie eine neue Anwendung und legen Sie auf dem Formular drei TToggleBoxen ab.
45+- Ändern Sie die Captions von ToggleBox1..3 zu *Rot*, *Grün* und *Blau* und deren Namen zu *tbRed*, *tbGreen* und *tbBlue*.
46+- Erstellen Sie einen *OnChange*-Eventhandler für eine der ToggleBoxen z.B. **`TForm1.tbRedChange(Sender: TObject);`** und verbinden Sie die anderen ToggleBoxen ebenfalls mit dieser:
47+ - Doppelklicken Sie *tbRed* auf dem Formular oder wählen Sie *tbRed* auf Ihrem Formular an und gehen Sie in den Objektinspektor auf den Reiter Ereignisse, wählen Sie das Ereignis *OnChange* und klicken Sie auf den Button \[...\].
48+ - Es wird die Procedure *tbRedChange* erstellt.
49+ - Jetzt wählen Sie *tbGreen* auf Ihrem Formular an.
50+ - Gehen Sie in den Objektinspektor auf den Reiter Ereignisse, wählen Sie das Ereignis *OnChange* und wählen daneben in der Combobox *tbRedChange* aus.
51+ - Jetzt wählen Sie *tbBlue* auf Ihrem Formular an und verfahren, wie eben mit *tbGreen*.
52+- Lassen Sie im Eventhandler *OnChange* der ToggleBoxen die Farben des Formulars, gemäß *\<ToggleBox\>.Checked*, ändern:
53+
54+``` pascal
55+procedure TForm1.tbRedChange(Sender: TObject);
56+var
57+ aColor: TColor;
58+begin
59+ aColor := 0; //Hintergrundfarbe von Form1 wird entsprechend der Toggleboxen festgelegt
60+ if ToggleBox1.Checked then aColor := aColor + $0000FF;
61+ if ToggleBox2.Checked then aColor := aColor + $00FF00;
62+ if ToggleBox3.Checked then aColor := aColor + $FF0000;
63+ Color := aColor; //die Änderung der Eigenschaft <Formular>.Color bewirkt ein Neuzeichnen des Formulars
64+end;
65+```
66+
67+## Siehe auch
68+
69+[[TButton/de|TButton]] - Verwendung von Buttons\
70+[[TCheckBox/de|TCheckBox]] - Verwendung von CheckBoxen\
71+[[TRadioButton/de|TRadioButton]] - Verwendung von RadioButtons\
72+
73+---
74+*From the Free Pascal wiki, page "TToggleBox/de", as it stood on 2020-03-02 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