Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Button abwechselnd drücken
Delete - Mi 16.12.09 13:49
Titel: Button abwechselnd drücken
- Nachträglich durch die Entwickler-Ecke gelöscht -
SvenAbeln - Mi 16.12.09 14:14
Frühlingsrolle hat folgendes geschrieben : |
Könnte man das nicht ein bisschen einfacher schreiben ?
|
Ja. Du kannst dir die ganze Funktion sparen, denn genau das machen die Speedbutton auch alleine.
Aus der Delphi Hilfe zu TSpeedButton.GroupIndex:
Zitat: |
Symbolschaltflächen mit demselben Wert in der Eigenschaft GroupIndex (dieser Wert darf nicht 0 sein) fungieren als Gruppe. Wenn der Benutzer auf eine dieser Schaltflächen klickt, bleibt diese gedrückt, bis der Benutzer auf eine andere Schaltfläche der Gruppe klickt. Auf diese Weise verwendete Schaltflächen bieten dem Benutzer Auswahlmöglichkeiten an, die sich gegenseitig ausschließen. |
Delete - Mi 16.12.09 15:06
- Nachträglich durch die Entwickler-Ecke gelöscht -
catweasel - Do 17.12.09 00:14
Hi,
Ich weiss, Thema schon gelöst.
Aber zu deiner Frage: Geht das Kürzer? (Falls mal Komponenten sowas nicht von alleine machen)
Ich würde es so machen: Es fällt ja auf das in jedem Codeblock immer der Sender derjenige ist der auf true steht, alle anderen werden auf false gesetzt.
Hmmm, mach das doch erstmal mit allen, auch dem Sender (auf false setzen) und setz dann nur den Sender auf true:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure THauptFrm.AllButtonClick(Sender: TObject); begin SB_Button1.Down := false; SB_Button2.Down := false; SB_Button3.Down := false; SB_Button4.Down := false; SB_Button5.Down := false; SB_Button6.Down := false; TSpeedButton(Sender).Down := true; end; |
und diesen Eventhandler allen Speedbuttons zuweisen.
Man setzt zwar den Sender überflüssigerweise auch erstmal auf fals, aber das sollte zu verschmerzen sein und hier machens die Buttons ja schon selber
Catweasel
Delete - Do 17.12.09 00:33
- Nachträglich durch die Entwickler-Ecke gelöscht -
catweasel - Do 17.12.09 01:11
Gerngeschehen :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!