Hola,
¿como puedo capturar la pulsación de una tecla?, para que ejecute un
código en cualquier formulario del proyecto.
Dentro de un formulario está claro la propagación del evento, pero para
todos los formulario me hago un líos, pues pensaba que que en un entorno
MDI/SDI con progamar el evento en la ventana principal sería suficiente,
pero no es asi.
Seguro que es mas facil que el lio que estoy montando.
Saludos. Miguel A. Torrellas
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.
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.
OnKeyDown
OnKeyDown
Miguel,
Si lo que necesitas es que una tecla te sirva para TODA la aplicación, yo
utilizo SetKey, como antes en Clipper.
SetKey( VK_F2,, {|| xFrmAgenda() } )
Un Saludo,
Xevi.
"Miguel A. Torrellas" <miguel@torrellas.net> escribió en el mensaje
news:46966d8a$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola,
>
> ¿como puedo capturar la pulsación de una tecla?, para que ejecute un
> código en cualquier formulario del proyecto.
>
> Dentro de un formulario está claro la propagación del evento, pero para
> todos los formulario me hago un líos, pues pensaba que que en un entorno
> MDI/SDI con progamar el evento en la ventana principal sería suficiente,
> pero no es asi.
>
> Seguro que es mas facil que el lio que estoy montando.
>
> Saludos. Miguel A. Torrellas
Si lo que necesitas es que una tecla te sirva para TODA la aplicación, yo
utilizo SetKey, como antes en Clipper.
SetKey( VK_F2,, {|| xFrmAgenda() } )
Un Saludo,
Xevi.
"Miguel A. Torrellas" <miguel@torrellas.net> escribió en el mensaje
news:46966d8a$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola,
>
> ¿como puedo capturar la pulsación de una tecla?, para que ejecute un
> código en cualquier formulario del proyecto.
>
> Dentro de un formulario está claro la propagación del evento, pero para
> todos los formulario me hago un líos, pues pensaba que que en un entorno
> MDI/SDI con progamar el evento en la ventana principal sería suficiente,
> pero no es asi.
>
> Seguro que es mas facil que el lio que estoy montando.
>
> Saludos. Miguel A. Torrellas
OnKeyDown
Miguel,
si quieres un comportamiento estándar para una tecla en cualquier
formulario, define la acción en el método WMKeyDown.
Algo así (está escrito al vuelo):
CLASS TForm FROM XForm
PUBLIC:
METHOD WMKeyDown( nKey, nFlags )
ENDCLASS
METHOD WMKeyDown( nKey, nFlags )
CASE nKey == ...
...
RETURN 0
ENDCASE
RETURN Super:KeyDown( nKey, nFlags )
Saludos,
José Lalín
si quieres un comportamiento estándar para una tecla en cualquier
formulario, define la acción en el método WMKeyDown.
Algo así (está escrito al vuelo):
CLASS TForm FROM XForm
PUBLIC:
METHOD WMKeyDown( nKey, nFlags )
ENDCLASS
METHOD WMKeyDown( nKey, nFlags )
CASE nKey == ...
...
RETURN 0
ENDCASE
RETURN Super:KeyDown( nKey, nFlags )
Saludos,
José Lalín
OnKeyDown
Gracias Xevi, gracias José,
Me parece mas elegante la manera que indica José. En concreto lo que
pretendía es llamar a Calculator() desde cualquier punto de la
aplicación, gracias a vuestra ayuda ya está conseguido.
Saludos. Miguel A. Torrellas
Me parece mas elegante la manera que indica José. En concreto lo que
pretendía es llamar a Calculator() desde cualquier punto de la
aplicación, gracias a vuestra ayuda ya está conseguido.
Saludos. Miguel A. Torrellas