Ver Mensaje Individual
  #2  
Antiguo 13-04-2013
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 juank1971.
Cita:
Empezado por juank1971 Ver Mensaje
esto lo pruebo con cualquier otro componente y funciona perfecto. Alguna idea.
Si, en realidad la segunda línea de tu código tendría que poder escribirse como:
Código Delphi [-]
  SendMessage(SpeedButton1.Handle, WM_SYSCOMMAND, $F012, 0);
Y aquí esta el problema... Por que TSpeedButton deriva de TGraphicControl y no de TWinControl que implementa la propiedad Handle. Vas a tener que programar un poco para lograr el efecto que buscas.

Te pongo un ejemplo, no muy elaborado, como para darte una idea de como podrías encararlo:
Código Delphi [-]
...
implementation

var
  MoveOn: Boolean = False;

procedure TForm1.SpeedButton1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if ssCtrl in Shift then  // tecla Ctrl  presionada
    MoveOn:= True;
end;

procedure TForm1.SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  if MoveOn then
  begin
    SpeedButton1.Left := ScreenToClient(Mouse.CursorPos).X;
    SpeedButton1.Top  := ScreenToClient(Mouse.CursorPos).Y;
  end;
end;

procedure TForm1.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  MoveOn := False;
end;

Saludos.
__________________
Daniel Didriksen

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