Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mover un panel en tiempo ejecución por el form (https://www.clubdelphi.com/foros/showthread.php?t=75267)

CarlosAlberto 10-08-2011 00:39:11

Mover un panel en tiempo ejecución por el form
 
Estimados miembros del club Delphi: cómo puedo mover un panel por todo el formulario?. Gracias.

ecfisa 10-08-2011 01:34:58

Hola CarlosAlberto.

Fijate si te sirve esto: Arrastrar y Soltar .

Saludos.

cecam 10-08-2011 07:46:58

Hooola!!

Hace poco encontre esta otra forma
Código:

procedure mouseDownMoveWinControl(ctrl:TWinControl);
begin
  ReleaseCapture;
  ctrl.Perform(WM_NCLBUTTONDOWN,HTCAPTION,0);
end;

aunque no se bien que diferencia hay (entre los parámetros WM_NCLBUTTONDOWN vs WM_SYSCOMMAND y HTCAPTION vs $F012) con esta otra que se comenta en el otro hilo

Código:

procedure TForm1.MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin 
  if ssCtrl in Shift
  then begin   
        ReleaseCapture;
        (Sender as TControl).Perform(WM_SYSCOMMAND, $F012,0);
  end;
end;


Saludos!!

Neftali [Germán.Estévez] 10-08-2011 10:16:53

Puesto que TPanel deriva de TControl, puedes utilizar este truco:

Mover controles de un form en runtime

Ahí también puedes ver cómo crearlos en ejecución.

(1) Baja el ejemplo
(2) Añade un panel al form
(3) Asigna los tres eventos del mouse ya creados (MouseDown, MouseMove y MouseUp)



La franja horaria es GMT +2. Ahora son las 22:33:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi