Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Dejar una ventana en segundo plano inactiva (https://www.clubdelphi.com/foros/showthread.php?t=9345)

vhirginia 21-04-2004 13:33:40

Dejar una ventana en segundo plano inactiva
 
Tenemos dos ventanas,y queremos que al abrir una ventana y por tanto este en primer plano,la que esta en 2º se ponga inactiva, es decir , no se pueda pinchar, ni mover ...
Gracias.

guillotmarc 21-04-2004 13:43:54

Cita:

Empezado por vhirginia
Tenemos dos ventanas,y queremos que al abrir una ventana y por tanto este en primer plano,la que esta en 2º se ponga inactiva, es decir , no se pueda pinchar, ni mover ...

Abre en forma modal la nueva ventana.

En lugar de :

frmClientes.Visible := True;

llama al método :

frmClientes.ShowModal;

Saludos.

vhirginia 22-04-2004 12:22:15

Y para que este otra vez activa?¿qué debemos hacer?Gracias

guillotmarc 22-04-2004 12:31:39

Cita:

Empezado por vhirginia
Y para que este otra vez activa?¿qué debemos hacer?Gracias

:confused: :confused: Nada, cuando cierres la ventana modal, el resto pasará a ser activo.

Saludos.

vhirginia 22-04-2004 12:42:59

Supongamos q la ventana modal es la A.Entonces si la ventana B llama a A,A se activa,y B queda inaccesible,pero cuando cerramos A, B sigue siendo inaccesible.
A eso nos referimos.

guillotmarc 22-04-2004 13:22:27

¿ Como cierras el formulario ?

Seguramente en lugar de cerrarlo, simplemente lo ocultas con un Hide. Prueba a eliminar el formulario con un Release.

Saludos.

vhirginia 22-04-2004 13:31:41

Con Release tampoco nos funciona.
Nosotras para abrir y cerrar las ventanas auxiliares utilizamos Visible(true o false segun corresponda),excepto la principal que hacemos Close.
Muchas gracias por tu atencion

guillotmarc 22-04-2004 13:46:43

Es verdad, para devolver el control una ventana modal, tienes que asignar un valor a la propiedad ModalResult.

O sea, pón : ModalResult := mrOk; (o ModalResult := mrCancel; si quieres indicar una cancelación).

Entonces se ejecutará el código que va a continuación de la llamada ShowModal que se útilizó para llamar al formulario Modal. En este punto puedes consultar el valor de ShowModal, para saber si el usuario realizo con éxito lo esperado en el formulario, o si en cambio lo cancelo.

Código:

...
ShowModal;
if ModalResult = mrOk then
.....
else if ModalResult = mrCancel then
....

Consulta la ayuda de Delphi para más información y ejemplos sobre ShowModal y ModalResult.

Saludos.


La franja horaria es GMT +2. Ahora son las 13:00:28.

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