no he sido capaz de interceptar las pulsaciones de teclas F2...F12
he usado el evento OnKeyDown, OnKeyUp, OnChar, del form o del control browse, pero no me los detecta, si me detecta teclas alfanuméricas sin problemas...
gracias
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.
KeyDown y F10
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: KeyDown y F10
Hola,
Funcionado sin problemas en TForm:OnKeyDown
Saludos
Funcionado sin problemas en TForm:OnKeyDown
Saludos
Re: KeyDown y F10
Ignacio, en este código me funciona del f4 a f9 bien, f10 no reacciona, F11 y 12 tambien funcionan bien.
he hecho un pequeño modulo en harbour puro, para descartar problemas del teclado, y ahi F10 me retorna -9, obiamente bajo consola, se que en windows tendria otro codigo...
Código: Seleccionar todo
METHOD FormKeyDown( oSender, nKey, nFlags ) CLASS TFormClientC
DO CASE
CASE nKey==VK_F4
MsgInfo("Presiono F4")
CASE nKey==VK_F5
MsgInfo("Presiono F5")
CASE nKey==VK_F6
MsgInfo("Presiono F6")
CASE nKey==VK_F7
MsgInfo("Presiono F7")
CASE nKey==VK_F8
MsgInfo("Presiono F8")
CASE nKey==VK_F9
MsgInfo("Presiono F9")
CASE nKey==VK_F10
MsgInfo("Presiono F10")
CASE nKey==VK_F11
MsgInfo("Presiono F11")
CASE nKey==VK_F12
MsgInfo("Presiono F12")
ENDCASE
RETURN Nil
Código: Seleccionar todo
#include "Inkey.ch"
PROCEDURE Main
LOCAL nEvent
CLS
? "Waiting for events (press ESC to quit)"
SET EVENTMASK TO INKEY_ALL
DO WHILE Lastkey() <> K_ESC
nEvent := Inkey(0)
@ 0, 0 CLEAR TO 1, MaxCol()
@ 0,1 SAY "Key Code:"
?? nEvent
ENDDO
RETURN
Re: KeyDown y F10
veo que en otras lib gui, tampoco me funciona el F10. asi que no es xailer. disculpa la molestia ignacio.
de momento no es importante.
de momento no es importante.
Re: KeyDown y F10
Carlos,
la tecla F10 la tiene "reservada" windows para abrir el menú de la ventana, y por eso no se recibe por WM_KEYDOWN. Si necesitas capturar su pulsación tendrás que interceptar el mensaje WM_SYSCOMMAND. Algo así:
la tecla F10 la tiene "reservada" windows para abrir el menú de la ventana, y por eso no se recibe por WM_KEYDOWN. Si necesitas capturar su pulsación tendrás que interceptar el mensaje WM_SYSCOMMAND. Algo así:
Código: Seleccionar todo
METHOD WMSysCommand( wParam, lParam ) CLASS TForm1
IF wParam == SC_KEYMENU
MsgInfo( "Se ha pulsado F10" )
RETURN 0
ENDIF
RETURN ::Super:WMSysCommand( wParam, lParam )
Re: KeyDown y F10
Gracias José.
Muy claro.![Smile :-)](./images/smilies/icon_e_smile.gif)
Muy claro.
![Smile :-)](./images/smilies/icon_e_smile.gif)