Página 1 de 1
Atajos
Publicado: Mar Oct 03, 2006 9:40 pm
por miguel
Hola:
En un formulario, como se puede detectar si se ha pulsado alguna
combinación de teclas tales como: ALT+F?, ALT+ENTER, CTRL+ENTER, ....
ALT+???, CTRL+????, ETC.. Y que códigos tendrían, asi como los donde
están los #defines.
¿el evento OnKeyDown, OnKeyUP?. En estos eventos gracias al depurador
veo que captura individualmente cada una de la teclas y no la combinación.
Saludos. Miguel A. Torrellas
Atajos
Publicado: Mié Oct 04, 2006 12:36 am
por jlalin
Miguel,
pon este código de ejemplo en el evento OnKeyDown del formulario:
//---
IF lGetKeyState( VK_CONTROL )
DO CASE
CASE nKey == VK_F2
MsgInfo( "Ctrl+F2" )
CASE nKey == Asc( "X" )
MsgInfo( "Ctrl+X" )
ENDCASE
ELSE
DO CASE
CASE nKey == VK_F2
MsgInfo( "F2" )
CASE nKey == Asc( "X" )
MsgInfo( "X" )
ENDCASE
ENDIF
//---
Saludos,
José Lalín
Atajos
Publicado: Mié Oct 04, 2006 10:48 am
por miguel
Gracias por tu respuesta. Perfecto, con esto ya tenemos controlado todo
el teclado.
He buscado la documentación de esta función en Xailer y en MSDN y no la
encuentro.
Saludos. Miguel A. Torrellas
José Lalín escribió:
>
> Miguel,
>
> pon este código de ejemplo en el evento OnKeyDown del formulario:
>
> //---
> IF lGetKeyState( VK_CONTROL )
> DO CASE
> CASE nKey == VK_F2
> MsgInfo( "Ctrl+F2" )
> CASE nKey == Asc( "X" )
> MsgInfo( "Ctrl+X" )
> ENDCASE
> ELSE
> DO CASE
> CASE nKey == VK_F2
> MsgInfo( "F2" )
> CASE nKey == Asc( "X" )
> MsgInfo( "X" )
> ENDCASE
> ENDIF
> //---
>
> Saludos,
> José Lalín
Atajos
Publicado: Jue Oct 05, 2006 12:55 am
por jlalin
Miguel,
> He buscado la documentación de esta función en Xailer y en MSDN y no la
> encuentro.
Este evento lo puedes ver en TForm y en sus clases ancestras.
Selecciona la pestaña "Eventos" en el inspector de propiedades, selecciona
el evento OnKeyDown y pulsa Shift+F1, te llevará directamente a la ayuda
del evento o propiedad.
Saludos,
José Lalín
Atajos
Publicado: Jue Oct 05, 2006 10:17 am
por miguel
Gracias Jose:
Ahora veo que no me explique bien, me refiero a la función lGetKeystate()
Saludos. Miguel A. Torrellas
José Lalín escribió:
>
> Miguel,
>
>> He buscado la documentación de esta función en Xailer y en MSDN y no
>> la encuentro.
>
> Este evento lo puedes ver en TForm y en sus clases ancestras.
>
> Selecciona la pestaña "Eventos" en el inspector de propiedades,
> selecciona el evento OnKeyDown y pulsa Shift+F1, te llevará directamente
> a la ayuda del evento o propiedad.
>
> Saludos,
> José Lalín