PDA

Ver la Versión Completa : Mover componentes


erika.martinez
19-05-2003, 21:31:14
Hola, ¿cómo están? Les cuento, estoy haciendo una aplicación en la que requiero poder mover componentes en tiempo de ejecución. Probé con los componentes Trivial pero se me complica bastante ya que cuando estos componentes están en modo mover no se activa ningun evento del componente, tampoco puedo activar mi PopupMenu unido a ese componente. Se me ocurrió hacerlo yo misma manejando los mensajes de Windows (más precisamente el mouse move), pero la verdad es que se mueve muy lento.
Si alguien puede ayudarme se lo agradeceré de corazón.
Saludos
Erika

__cadetill
19-05-2003, 21:40:39
Mirate este hilo de mensajes del Archivo http://www.clubdelphi.com/foros/archivo/viewtopic.php?t=19832

A ver si te sirve

erika.martinez
19-05-2003, 21:59:59
Gracias por la respuesta, para el que esté interesado en esto, encontré una forma muy simple de hacerlo, es la siguiente:

En el evento OnMouseDown del componente que queremos mover, por ejemplo un TPanel, hacemos:

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
panel1.perform(WM_SysCommand, SC_DragMove, 0);
end;