Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   FireMonkey (https://www.clubdelphi.com/foros/forumdisplay.php?f=50)
-   -   Repintar Formulario Padre al Mover Formulario Modal (https://www.clubdelphi.com/foros/showthread.php?t=91598)

juniorSoft 11-03-2017 18:54:22

Repintar Formulario Padre al Mover Formulario Modal
 
Hola Amigos,

Mi inquietud es, como puedo repintar el formulario padre al mover un formulario Modal; al mover el formulario Modal se produce un efecto no deseado dejando rayas por todos lados.

AgustinOrtu 11-03-2017 19:10:41

Se supone que si abris un formulario de manera modal, el "padre" (no se a que te refieres exactamente con esto, supongo que al formulario principal) se desactiva. A que llamas repintarlo?

Y mas curioso aun, porque necesitas repintarlo? Al mostrar una ventana modal se supone que el usuario deberia centrar toda su atencion en esta ventana, es por eso que es una llamada "bloqueante" para el emisor, el cual no puede continuar hasta que se cierre esta ventana modal

juniorSoft 11-03-2017 19:18:53

realice una solución quizás algo chapucera pero funciono

Cree un procedimiento publico en el formulario principal para poder invocar el método Realign, luego en el formulario modal lo invoco en su evento OnMouseUp

juniorSoft 11-03-2017 19:29:00

Hola AgustinOrtu

si es el formulario Principal, excusas por la descripción

Cita:

Y mas curioso aun, porque necesitas repintarlo? Al mostrar una ventana modal se supone que el usuario deberia centrar toda su atencion en esta ventana, es por eso que es una llamada "bloqueante" para el emisor, el cual no puede continuar hasta que se cierre esta ventana modal
Es un Formulario Modal Pequeño, si se mueve con el mouse empieza a crear rayas en el formulario principal, claro el usuario estará utilizando dicho form modal pero se ve poco profesional que si el usuario mueve este formulario este empiece a crear rayas y si al terminar no invoco el método Realign se quedan hasta que abra otro formulario y lo que buscaba era una forma de que si se mueve repinte automáticamente estas rayas

AgustinOrtu 11-03-2017 19:33:09

Muy extraño, nunca he visto algo igual.

Podes crear un ejemplo que lo reproduzca?

juniorSoft 11-03-2017 19:36:50

Otra forma de solucionar el problema adaptando algo de código que encontré aquí http://stackoverflow.com/questions/2...form-is-active

Cita:

procedure TFormPrincipal.OnDoIdle(Sender: TObject; var Done: Boolean);
begin
Realign;
end;


procedure TFormPrincipal.FormCreate(Sender: TObject);
begin
Application.OnIdle:=OnDoIdle;
end;

juniorSoft 11-03-2017 20:23:30

Ya encontré el problema yo también lo vi muy extraño y aparecía aveces. El efecto se esta produciendo por una aplicación externa a Delphi; tengo instalado un Emulador de android llamado Memu y al parecer esta creando una capa sobre la pantalla que produce ese efecto. Dure un rato probando sin el emulador abierto y no se reprodujo el efecto.

Disculpas por no identificar esto antes de preguntar.


La franja horaria es GMT +2. Ahora son las 04:39:23.

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