![]() |
Cual es el evento que se ejecuta al mover un formulario
Hola a todos.
Quiero hacer una consulta que a lo mejor es un poco tonta pero a mi me está volviendo loco Quiero saber cual es el evento que se ejecuta al mover un formulario. Lo que necesito es que cuando mueva el formulario, otro formulario siga al primero como si fuera parte de el. Desde ya agradezco sus comentarios. Saludos Jorge |
No es una pregunta tonta. Creo que Delphi no provee un evento como tal pero puedes interceptar el mensaje WM_SYSCOMMAND. En este hilo hay una forma de hacerlo aunque ahí el objetivo era impedir que se moviera el formulario.
LineComment Saludos |
Hola Jorge.
Podrías capturar el mensaje WM_MOVING, vg.: .h Código PHP:
Código PHP:
.h Código PHP:
Código PHP:
|
Muchísimas gracias a los dos por las respuestas, son unos genios.
Estoy intentando ponerlo en practica. El primer método me tira varios errores, el segundo me anduvo pero con un problemita. Solo ejecuta lo que está en el if cuando hago click en la barra para moverlo. Mientras estoy moviendo el formulario no ejecuta el bucle hasta que no vuelvo a hacer click en la barra de arriba. ¿Habrá alguna manera de que vaya actualizando los valores de Left y Top del formulario 2 a medida que vaya moviendo el formulario 1? |
[quote=ecfisa;506219]Hola Jorge.
Podrías capturar el mensaje WM_MOVING, vg.: .h Código PHP:
Código PHP:
Anduvo perfecto y ya se mueven los dos formularios juntos. Muchísimas gracias, esta es la tercera vez que me das la solución a lo que necesito. Gracias a los dos por tomarse el tiempo para contestarme. Voy a continuar con la programación y espero no tener que volver a molestarlos. Hasta pronto :D |
Hola.
Otra opción mas: .h Código PHP:
Código PHP:
|
Muchas gracias.
Que diferencia tiene este ultimo con los otros? En los otros uno muestra el mensaje cuando se hace click en la barra y el otro es cuando se mueve el formulario. Este código cuando se ejecutaría? |
Hola Jorge.
Podes encontrar la descripción (y diferencias) en la referencia de Microsoft: (*) SC_DRAGMOVE sólo funciona con descendientes de TWinControl. No funciona por ejemplo, con un TImage. Saludos :) |
Yo también miraría WM_WINDOWPOSCHANGING y WM_WINDOWPOSCHANGED quizás te sean de utilidad. Yo los he usado para adosar una ventana a la ventana que se está arrastrando, (Como la ventana de TeamViewer de contactos).
|
La franja horaria es GMT +2. Ahora son las 15:35:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi