Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Teclas aceleradoras
Message
From
21/12/2006 10:52:59
 
 
To
21/12/2006 10:23:00
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
01179492
Message ID:
01179584
Views:
6
>Alex y Dmtry,
>
>Siguiendo sus indicaciones, creé un método que lo llamo desde el evento click del botón y desde la llamada en formato genérico que me indicó Alex
>
>
ON KEY LABEL F2 _SCREEN.ACTIVEFORM.METODOF2
>
>Funciona perfectamente. Sin embargo me pareció buena la idea de Dmitry de utilizar el evento KeyPress del formulario y en lugar de la instrucción anterior coloqué en el evento KeyPress del formulario:
>
>
LPARAMETERS nKeyCode, nShiftAltCtrl
>IF nKeyCode = -1
>    _SCREEN.ACTIVEFORM.METODOF2
>ENDIF
>
>
>Así no funciona. Creo que la razón es porque después de producirse el KeyPress del formulario pasa el foco a otro objeto del formulario. Me explico: el método que quiero disparar muestra unos controles, entre ellos un Text. En el evento Valid de ese Text compruebo el contenido: si es cero se vuelven a ocultar los controles mostrados y si no es cero agrega el valor a un cursor, etc. Entiendo que al pulsar F2 se dispara el keypres del formulario, me muestra los controles pero la pulsación me "llena" el text mostrado y dispara el Valid del mismo, con lo cual lo vuelve a ocultar.
>

Manuel,

Si yo te entiendo correcto, no necesitas usar _SCREEN... en metodo KeyPress. Puedes llamar el metodo directamente, como siguiente:
IF nKeyCode = -1
   this.MiMetodo()
ENDIF
Tal vez este te sirve mejor.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform