PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • To manage all the keyboard keys with KeyPressed:
  • Running the test of a key combination
  • Interrupting a process in a browse loop
  • Asynchronous status report
  • Using the KeyPressed function
  • Keys of Pocket PCs and Smartphones
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Checks which key is pressed.
Versions 15 and later
Java This function is now available for the Java applications.
New in version 15
Java This function is now available for the Java applications.
Java This function is now available for the Java applications.
Example
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
Syntax
<Result> = KeyPressed(<Constant> [, <Change of Status>])
<Result>: Boolean
  • True if the control key is pressed or if its status changed since the last call to KeyPressed,
  • False otherwise.
Java Specific operating mode:
  • True if the control key is currently pressed,
  • False otherwise.
<Constant>: Integer constant
Identifies the control key:
kpAltALT key
kpLButtonLeft mouse button
Java This constant is not available.
kpRButtonRight mouse button
Java This constant is not available.
kpControlCTRL key
kpEscapeESC key
kpShiftSHIFT key
Additional constants are available in the "KeyConst.wl" file. These constants are used to identify all the keyboard keys. This file is available in the "\Personal\Extern" directory of WINDEV or WINDEV Mobile. See remarks for more details.
<Change of Status>: Optional boolean
  • True (default value) to get a synchronous status: key currently pressed,
  • False to get an asynchronous status: the key status changed since the last call to KeyPressed.
Java This parameter is ignored. The status code is always synchronous.
Remarks

To manage all the keyboard keys with KeyPressed:

  1. Include the KeyConst.WL file in your project. This file associates a specific constant with each keyboard key. This file is available in the \Personal\Extern directory of WINDEV. To include this file in your applications, the EXTERN keyword must be used as follows:
    EXTERN "KEYCONST.wl"
  2. Use the constants in KeyPressed:
    IF KeyPressed(VK_Space) THEN...
Notes:
  • To manage the character keys, use the ASCII code of character (returned by Asc).
  • All the constants found in the KeyConst.WL file start with the letters VK_. As soon as the file was integrated by the EXTERN keyword, these constants are proposed by the automatic completion in the code editor.

Running the test of a key combination

To run the test of a key combination, run the test of two keys pressed:
IF KeyPressed(kpShift) AND KeyPressed(VK_TAB) THEN
Trace("OK")
END

Interrupting a process in a browse loop

In a loop, to interrupt the process by pressing Esc, Multitask must be called before KeyPressed.
Example:
HReadFirst(Customer, CustNum)
WHILE HOut() = False
// Cancelation via ESC?
Multitask(-1)
IF KeyPressed(kpEscape) = True THEN BREAK
// Process
HReadNext(Customer, CustNum)
END
WINDEVReports and QueriesWindowsWindows MobileUser code (UMC)

Asynchronous status report

To avoid retrieving a key that was pressed beforehand (in another process for example), the status of the key to test must be reinitialized by the following code line:
KeyPressed(<Key>, False)
Java

Using the KeyPressed function

The application must have focus in order for KeyPressed to check that the specified key is down.
Windows Mobile

Keys of Pocket PCs and Smartphones

The diagrams below present the WLanguage constants associated with the keys.
Components
WINDEVReports and Queries wd230std.dll
Windows Mobile wp230std.dll
Java wd230java.jar
Minimum required version
  • Version 9
This page is also available for…
Comments
exemplo keypressed
Message("Aguarde.. Esperando retorno do Sefaz.")
Wait(500)
FOR X = PROGBAR_Progress_bar..MinValue _TO_ PROGBAR_Progress_bar..MaxValue
// FORÇAR A SAIDA DESSE FOR., OU PODERIA SER UM LOOP
Message("Espaco Sair..7."+n_contador_)
Multitask(-1)
IF KeyPressed(VK_SPACE)=True THEN
// VERIFICANDO SE É APERTADO A TELCA ESPACO
// PODERIA SER QUALQUER TECLA
BREAK
END
n_contador_++
Message("")
s_retorno_xml=s_retorno1_xml
IF fFileExist(s_retorno_xml) THEN
ler_retorno(s_retorno_xml)
BREAK
ELSE
s_retorno_xml=s_retorno2_xml
IF fFileExist(s_retorno_xml) THEN
ler_retorno(s_retorno_xml)
BREAK
END
END
PROGBAR_Progress_bar..Visible=False
END
amarildo
Nov. 13 2018