Hier hast du mal 2 Lösungen. Die erste funktioniert immer. Die 2. müsste immer funktionieren. Es kann aber vorkommen, dass bei der 2. die Komponentenreihenfolge durch weitere Sub-Komponenten durcheinander gerät. Aber das jemand Komponenten mit TRadioGroup als Owner erzeugt habe ich noch nicht gesehen.
Delphi-Quellcode:
type
TRadioGroupPrivate = class(TCustomGroupBox)
public
FButtons: TList;
{ Wir müssen nur auf FButtons zugreifen können }
end;
function GetRadioButtonFromGroup(RadioGroup: TCustomRadioGroup; Index: Integer): TRadioButton;
begin
Result := TRadioButton(TRadioGroupPrivate(RadioGroup).FButtons[Index]);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
GetRadioButtonFromGroup(RadioGroup1, 3).Enabled := False;
end;
// 2. Lösung
procedure TForm1.Button2Click(Sender: TObject);
begin
TRadioButton(RadioGroup1.Components[3]).Enabled := False;
end;