La unica forma que se me ocurrio es esta
Código Delphi
[-]
procedure TForm1.ButtonGroup1ReorderButton(Sender: TObject; OldIndex,
NewIndex: Integer);
var
Old, New: TGrpButtonItem;
begin
if NewIndex = 1 then
begin
ButtonGroup1.Items.BeginUpdate;
try
Old := ButtonGroup1.Items[OldIndex];
New := ButtonGroup1.Items[NewIndex];
Old.Index := NewIndex;
New.Index := OldIndex;
finally
ButtonGroup1.Items.EndUpdate;
end;
end;
end;
Aunque desconozco que pasaria con muchos botones. Basicamente se esta pintando el control dos veces
Sino lo suyo es heredar de TButtonGroup y reescribir DoReorderButton