Message
 
 
To
21/12/2006 10:23:00
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
01179492
Message ID:
01179584
Views:
8
>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