Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: RadioButtonArray

  Alt 17. Jan 2012, 19:09
Mein Vorschlag wäre:

Alle RadioButtons in eine Liste (TList) packen
Delphi-Quellcode:
TForm1 = class( TFrom )
...
  procedure MyRadioButtonsClick( Sender : TObject );
private
  fRadioList : TList;
...
end;

procedure TForm1.FormCreate( Sender : TObject );
begin
  fRadioList := TList.Create;
  // Alle RadioButtons in die Liste aufnehmen, dabei auf die gewünschte Reihenfolge achten
  fRadioList.Add( MyRadioButton1 );
  MyRadioButton1.OnClick := MyRadioButtonsClick;
  fRadioList.Add( MyRadioButton2 );
  MyRadioButton2.OnClick := MyRadioButtonsClick;
  ...
  
end;

procedure TForm1.FormDestroy( Sender : TObject );
begin
  // Die RadioButtons werden über den Owner freigegeben, wir müssen also nur die Instanz der Liste befreien
  fRadioList.Free;
end;

procedure TForm1.MyRadioButtonsClick( Sender : TObject );
var
  RadioButtonIndex : Integer;
begin
  // Als Sender wird die Instanz mitgegeben, die dieses Event aufruft - also einer von den RadioButtons
  // Und da die in der Liste stehen sollten, bekommen wir nun so den Index heraus
  RadioButtonIndex := fRadioList.IndeOf( Sender );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat