Ver Mensaje Individual
  #8  
Antiguo 05-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Los eventos OnDragDrop y OnDragOver estan declarados en la seccion protected de la clase TControl de la que deriva TSpeedButton, para usarlos tendrías que desproteger la clase TSpeedButton.

Un ejemplo:
Código Delphi [-]
...
type
  TSpeedButton = class(Buttons.TSpeedButton);
 
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure Panel1Click(Sender: TObject);
  private
    procedure SpeedButtonDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure SpeedButtonDragDrop(Sender, Source: TObject; X, Y: Integer);
  public
  end;

...
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  SpeedButton1.OnDragDrop := SpeedButtonDragDrop;
  SpeedButton1.OnDragOver := SpeedButtonDragOver;
end;

procedure TForm1.SpeedButtonDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := Source is TPanel;
end;

procedure TForm1.SpeedButtonDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  TSpeedButton(Sender).Caption := TPanel(Source).Caption;
end;

procedure TForm1.Panel1Click(Sender: TObject);
begin
   TPanel(Sender).BeginDrag(True);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita