Ver Mensaje Individual
  #2  
Antiguo 01-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Hola osmeg

Proba de la siguiente manera:

Código Delphi [-]
procedure TForm1.ButtonGroup1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if ButtonGroup1.IndexOfButtonAt(X, Y) in [0, 1] then
    ButtonGroup1.ButtonOptions := ButtonGroup1.ButtonOptions - [gboAllowReorder]
  else
    ButtonGroup1.ButtonOptions := ButtonGroup1.ButtonOptions + [gboAllowReorder]
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ButtonGroup1.Items.Add.Caption := 'Primero';
  ButtonGroup1.Items.Add.Caption := 'Segundo';
  ButtonGroup1.Items.Add.Caption := 'Tercero';
  ButtonGroup1.ButtonOptions := ButtonGroup1.ButtonOptions + [gboAllowReorder];
end;

De esa manera no podrias reordenar el "primero" ni el "segundo"

Una extension de lo anterior que se asemeja mas a lo que buscas (creo)

Código Delphi [-]
function IsSpecialButton(AButton: TGrpButtonItem): Boolean;
begin
  // tu codigo
  Result := True;
end;

procedure TForm1.ButtonGroup1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  LIndex: Integer;
  LButton: TGrpButtonItem;
begin
  LIndex := ButtonGroup1.IndexOfButtonAt(X, Y);
  LButton := ButtonGroup1.Items[LIndex];
  if LButton = NIL then
    Exit;

  if IsSpecialButton(LButton) then
    ButtonGroup1.ButtonOptions := ButtonGroup1.ButtonOptions - [gboAllowReorder]
  else
    ButtonGroup1.ButtonOptions := ButtonGroup1.ButtonOptions + [gboAllowReorder]
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ButtonGroup1.Items.Add.Caption := 'Primero';
  ButtonGroup1.Items.Add.Caption := 'Segundo';
  ButtonGroup1.Items.Add.Caption := 'Tercero';
  ButtonGroup1.ButtonOptions := ButtonGroup1.ButtonOptions + [gboAllowReorder];
end;

Última edición por AgustinOrtu fecha: 01-09-2015 a las 18:15:37.
Responder Con Cita