In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Se cierran los Forms con ESCAPE?

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Se cierran los Forms con ESCAPE?

Mensaje 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.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Se cierran los Forms con ESCAPE?

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Se cierran los Forms con ESCAPE?

Mensaje 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
>
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Se cierran los Forms con ESCAPE?

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Se cierran los Forms con ESCAPE?

Mensaje 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
>
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Se cierran los Forms con ESCAPE?

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Se cierran los Forms con ESCAPE?

Mensaje 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
>
>
Responder