PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Para gestionar todas las teclas del teclado con KeyPressed:
  • Ejecución de la prueba de una combinación de teclas
  • Interrumpir un proceso en un bucle de navegación
  • Status asincrónico reporte
  • Usando la función KeyPressed
  • Llaves de Pocket PC y Smartphones
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Comprueba qué tecla está pulsada.
Versiones 15 y posteriores
Java Esta función ya está disponible para las aplicaciones Java.
Nueva funcionalidad versión 15
Java Esta función ya está disponible para las aplicaciones Java.
Java Esta función ya está disponible para las aplicaciones Java.
Ejemplo
EXTERN "KeyConst.WL"
FOR I = 1 TO 5000
HourGlass(True)
Multitask(-1)
IF KeyPressed(VK_SPACE) = True THEN Info("Space key down")
IF KeyPressed(Asc("A")) = True THEN Trace("A key down")
END
HourGlass(False)
Windows Mobile
// -- Initialization code of project
// Include the "KeyConst.WL" and "WinConst.WL" files
EXTERN "KeyConst.WL"
EXTERN "WinConst.WL"

// -- Initialization code of window
// Intercept the Pocket PC key that is pressed
Event("MoveImage", "Window1.*", WM_KEYDOWN)
// -- "MoveImage" procedure
PROCEDURE MoveImage()
// Move the "IMG_MyImage" Image control with the arrows of the Smartphone or Pocket PC
// Right arrow: move to the right
IF KeyPressed(VK_RIGHT) THEN IMG_MyImage..X = IMG_MyImage..X + 10
// Left arrow: move to the left
IF KeyPressed(VK_LEFT) THEN IMG_MyImage..X = IMG_MyImage..X - 10
// Up arrow: move to the top
IF KeyPressed(VK_UP) THEN IMG_MyImage..Y = IMG_MyImage..Y + 10
// Down arrow: move to the bottom
IF KeyPressed(VK_DOWN) THEN IMG_MyImage..Y = IMG_MyImage..Y - 10
Sintaxis
<Result> = KeyPressed(<Constant> [, <Change of status>])
<Result>: booleano
  • True si la tecla de control está presionada o ha cambiado de estado desde la última vez que se llamó a la función Tecla pulsada,
  • False en caso contrario.
Java Modo de funcionamiento específico:
  • True si la tecla de control está presionada,
  • False en caso contrario.
<Constant>: Constante entera
Identifica la clave de control:
kpAltTecla Alt.
kpLButtonBotón izquierdo del ratón.
Java Esta constante no está disponible.
kpRButtonBotón derecho del ratón.
Java Esta constante no está disponible.
kpControlTecla Ctrl.
kpEscapeTecla Esc.
kpShiftTecla Mayúsculas.

Constantes adicionales están disponibles en el archivo "KeyConst.wl. Estas constantes se utilizan para identificar todas las teclas del teclado. Este archivo está disponible en el directorio "\Personal\Extern" de WINDEV o WINDEV Mobile. Vea comentarios para más detalles.
<Change of status>: Opcional booleano
  • True (valor predeterminado) para obtener un informe sincrónico: actualmente presionada,
  • False para obtener un informe asíncrono: el estado de la tecla ha cambiado desde la última vez que se llamó a la función Tecla pulsada.
Java Este parámetro se ignora. El código de estado es siempre sincrónico.
Observaciones

Para gestionar todas las teclas del teclado con KeyPressed:

  1. Incluya el archivo KeyConst.WL en su proyecto. Este archivo asocia una constante específica con cada tecla del teclado. Este archivo está disponible en el directorio \Personal\Externo de WINDEV. Para integrar este archivo en sus aplicaciones, es necesario utilizar la palabra clave EXTERN de la siguiente manera:
    EXTERN "KEYCONST.wl"
  2. Utiliza las constantes de Tecla pulsada:
    IF KeyPressed(VK_Space) THEN...
Observaciones:
  • Para gestionar las claves de caracteres, utilice el código ASCII del carácter (devuelto por Asc).
  • Todas las constantes encontradas en el archivo KeyConst.WL comienzan con las letras VK_.. Estas constantes son propuestas por la finalización automática en el editor de código tan pronto como el archivo se incluye con la palabra clave EXTERN.

Ejecución de la prueba de una combinación de teclas

Para ejecutar la prueba de una combinación de teclas, ejecute la prueba de dos teclas pulsadas:
IF KeyPressed(kpShift) AND KeyPressed(VK_TAB) THEN
Trace("OK")
END

Interrumpir un proceso en un bucle de navegación

En un bucle, para interrumpir el proceso pulsando la tecla Esc, debe utilizarse la función #Multitask antes de la función Tecla pulsada.
Ejemplo:
HReadFirst(Customer, CustNum)
WHILE HOut() = False
// Abandon via Esc?
Multitask(-1)
IF KeyPressed(kpEscape) = True THEN BREAK
// Process
HReadNext(Customer, CustNum)
END
WINDEVReportes y ConsultasWindowsWindows MobileCódigo de Usuario (UMC)

Status asincrónico reporte

Para evitar recuperar una tecla que se haya pulsado previamente (en otro proceso, por ejemplo), el estado de la tecla a probar debe reiniciarse mediante la siguiente línea de código:
KeyPressed(<Key>, False)
Java

Usando la función KeyPressed

La aplicación debe tener el foco para que la función Tecla pulsada pueda comprobar que la tecla especificada está presionada.
Windows Mobile

Llaves de Pocket PC y Smartphones

Los diagramas siguientes presentan las constantes WLanguage asociadas a las teclas.
Componente : wd250std.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario