Página 1 de 1

Se cierran los Forms con ESCAPE?

Publicado: Vie Jul 01, 2005 2:36 pm
por Xevi
Hola,
Creo recordar que se podía "eliminar" el efecto de cerrar los Forms cuando
se pulsara ESC, y así controlar manualmente el cierre con los objetos que
queramos.... Pero no recuerdo cómo se hacía... ¿El Alzeimer??? ....
buuuffffff!!!
Un Saludo,
Xevi.

Se cierran los Forms con ESCAPE?

Publicado: Vie Jul 01, 2005 2:41 pm
por jfgimenez
Xevi,
> Creo recordar que se podía "eliminar" el efecto de cerrar los Forms cuando
> se pulsara ESC, y así controlar manualmente el cierre con los objetos que
> queramos.... Pero no recuerdo cómo se hacía... ¿El Alzeimer??? ....
> buuuffffff!!!
Sólo se cierran con escape cuando nBorderStyle = bsDIALOG, o si hay algún
botón con lCancel := .T. y nModalResult = mrCANCEL.
De todos modos, siempre puedes usar el evento OnClose del formulario para
controlar su cierre.
--
Un saludo,
José F. Giménez

Se cierran los Forms con ESCAPE?

Publicado: Vie Jul 01, 2005 2:49 pm
por Xevi
Jose,
Y... ¿es posible saber que control era el que tenía el Foco en el Evento
OnClose???
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:42c539ef$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
>> Creo recordar que se podía "eliminar" el efecto de cerrar los Forms
>> cuando se pulsara ESC, y así controlar manualmente el cierre con los
>> objetos que queramos.... Pero no recuerdo cómo se hacía... ¿El
>> Alzeimer??? .... buuuffffff!!!
>
> Sólo se cierran con escape cuando nBorderStyle = bsDIALOG, o si hay algún
> botón con lCancel := .T. y nModalResult = mrCANCEL.
>
> De todos modos, siempre puedes usar el evento OnClose del formulario para
> controlar su cierre.
>
> --
> Un saludo,
>
> José F. Giménez
>
>

Se cierran los Forms con ESCAPE?

Publicado: Vie Jul 01, 2005 3:12 pm
por jfgimenez
Xevi,
> Y... ¿es posible saber que control era el que tenía el Foco en el Evento
> OnClose???
::oActiveControl
--
Un saludo,
José F. Giménez

Se cierran los Forms con ESCAPE?

Publicado: Lun Jul 04, 2005 10:02 pm
por Xevi
Jose,
Pero... no entiendo suficiente...
::oActiveControl... es el control que tiene el foco antes de cerrar el Form,
vale... pero ¿cómo se que control es???
::oActiveControl:Name ???? //Eso no está disponible.
Mira, lo que pretendo es que un Form se cierre con ESCAPE, pero sólo cuando
esté situado en el Browse...
Por lo que en OnClose del Form
¿Puedo retornar .F. ¿?... ¿cómo hago para devolver a OnClose .T. o .F.
o... ¿alguna propiedad del Form que valide el cierre del mismo????
If ::oActiveControl:NombreControl = "oBrowse1"
Return .T.
EndIf
Return .F.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:[email=42c54147@ozsrvnegro.ozlan.local...]42c54147@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
>> Y... ¿es posible saber que control era el que tenía el Foco en el Evento
>> OnClose???
>
> ::oActiveControl
>
> --
> Un saludo,
>
> José F. Giménez
>
>

Se cierran los Forms con ESCAPE?

Publicado: Lun Jul 04, 2005 10:14 pm
por jfgimenez
Xevi,
> Pero... no entiendo suficiente...
> ::oActiveControl... es el control que tiene el foco antes de cerrar el
> Form, vale... pero ¿cómo se que control es???
> ::oActiveControl:Name ???? //Eso no está disponible.
No, pero sí puedes comparar directamente los objetos:
IF ::oActiveControl == ::oDbfBrowse1 // Fijate que la comparación usa
dos =
> Mira, lo que pretendo es que un Form se cierre con ESCAPE, pero sólo
> cuando esté situado en el Browse...
> Por lo que en OnClose del Form
> ¿Puedo retornar .F. ¿?... ¿cómo hago para devolver a OnClose .T. o .F.
> o... ¿alguna propiedad del Form que valide el cierre del mismo????
Simplemente tienes que retornar .T. o .F.
METHOD FormClose( oSender, lClose ) CLASS TForm1
RETURN ::oActiveControl == ::oDbfBrowse1
o en formato codeblock:
::OnClose := {|| ::oActiveControl == ::oDbfBrowse1 }
--
Un saludo,
José F. Giménez

Se cierran los Forms con ESCAPE?

Publicado: Lun Jul 04, 2005 10:26 pm
por Xevi
P E R F E C T O !!!
A veces, lo sencillo se nos hace tremendamente complicado, jejeje.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:42c99891$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
>> Pero... no entiendo suficiente...
>> ::oActiveControl... es el control que tiene el foco antes de cerrar el
>> Form, vale... pero ¿cómo se que control es???
>> ::oActiveControl:Name ???? //Eso no está disponible.
>
> No, pero sí puedes comparar directamente los objetos:
>
> IF ::oActiveControl == ::oDbfBrowse1 // Fijate que la comparación usa
> dos =
>
>
>> Mira, lo que pretendo es que un Form se cierre con ESCAPE, pero sólo
>> cuando esté situado en el Browse...
>> Por lo que en OnClose del Form
>> ¿Puedo retornar .F. ¿?... ¿cómo hago para devolver a OnClose .T. o .F.
>> o... ¿alguna propiedad del Form que valide el cierre del mismo????
>
> Simplemente tienes que retornar .T. o .F.
>
> METHOD FormClose( oSender, lClose ) CLASS TForm1
> RETURN ::oActiveControl == ::oDbfBrowse1
>
> o en formato codeblock:
>
> ::OnClose := {|| ::oActiveControl == ::oDbfBrowse1 }
>
> --
> Un saludo,
>
> José F. Giménez
>
>