Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Minimizar aplicación que tiene ventanas modales (https://www.clubdelphi.com/foros/showthread.php?t=26071)

santiago14 12-10-2005 14:58:17

Minimizar aplicación que tiene ventanas modales
 
Buen día, paso a contar:
Explicarlo es simple pero no encontré una manera que satisfaciera mi problema.
Tengo ventanas que se abren en forma modal (form2.showModal) y que llamo desde form1, por ejemplo.
Ahora, lo que quiero es minimizar la aplicación presionando el botón minimizar del formulario modal (form2), y levantar la aplicación haciendo click en el botón de la misma aplicación que está en la barra de tareas.
Investigando un poco encontré varias posibles formas en estos foros, por ejemplo usando el siguiente procedimiento:
Código Delphi [-]
procedure WMSysCommand(var Msg:TWMSysCommand); message WS_SYSCOMMAND;
En este caso minimiza los formularios, los pone encima del botón de "Inicio" de Windows pero no los quiere restaurar haciendo click en el botón de la barra de tareas, para arreglar eso puse en OnShow del form2:
Código Delphi [-]
enableWindow(Application.handle, true);
Hasta ahi no parece haber demasiados problemas, pero resulta que cuando minimizo el form2 y lo restauro desde su botón de restaurar solamente aparece el form2 en pantalla y no el form1 que tendría que estar atrás. Esto es contraproducente pues cuando cierro el form2 (close) no aparece el form1 y tengo que hacer malabares para que aparezca el form1. Bueno, espero haber explicado bien la cosa.
Otra cosa que usé es una función sugerida por Roman:
Código Delphi [-]
...
private
 function AppHook(var Msg:TMessage):boolean;
end;
y no obtuve los resultados esperados, por supuesto, Application.minimize también.
Saludos y espero que puedan ayudarme.

Gydba 12-10-2005 19:01:08

Buenas,

Podrías probar con este componente de Torrys que mas o menos utiliza el mismo método que decís:
http://www.torry.net/vcl/forms/other/minmodal.zip

Saludos!


La franja horaria es GMT +2. Ahora son las 13:24:43.

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