Autor Beitrag
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 16.12.09 13:49 
- Nachträglich durch die Entwickler-Ecke gelöscht -
SvenAbeln
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 334
Erhaltene Danke: 3



BeitragVerfasst: 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.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 16.12.09 15:06 
- Nachträglich durch die Entwickler-Ecke gelöscht -
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: 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:

ausblenden 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

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 17.12.09 00:33 
- Nachträglich durch die Entwickler-Ecke gelöscht -
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Do 17.12.09 01:11 
Gerngeschehen :)

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.