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

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:

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 :)