Iniciar Sesión

Ver la Versión Completa : [Sintaxis] Teclas de desplazamiento


Josber
28 de abril de 2020, 22:11
¿Hay alguna manera de 'detectar' las teclas de desplazamiento, (arriba, abajo, derecha, izquierda)?, porque dentro de un control, en el evento KeyPress, he puesto el código adjunto pero, pasa de mi ..



EVALUATE POW-ARG-KEYASCII
WHEN POW-KEY-DOWN
DISPLAY "ABAJO"
WHEN POW-KEY-UP
DISPLAY "ARRIBA"
END-EVALUATE.



Mil gracias.-

Kuk
29 de abril de 2020, 09:43
@Josber, tienes que pasar por el evento PreKeyDown del propio Form ;)

Josber
29 de abril de 2020, 13:16
tienes que pasar por el evento PreKeyDown del propio Form

Esa solución ya me la imaginaba pero, el control de las teclas, lo quiero tener en uin componente en especial, (componente SPREAD, parecido al ListView), no en el form en general

Saludos.-

Kuk
29 de abril de 2020, 13:42
@Josber, en el evento indicado debes añadir un control del componente activo.

Ejemplo PreKeyDown:


ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
LINKAGE SECTION.
01 POW-ARG-KEYCODE PIC S9(4) COMP-5.
01 POW-ARG-SHIFT PIC S9(4) COMP-5.
PROCEDURE DIVISION USING POW-ARG-KEYCODE POW-ARG-SHIFT.

IF "ActiveControl" OF POW-SELF = CmText1
EVALUATE POW-ARG-KEYCODE

WHEN POW-KEY-UP
DISPLAY "Arriba"

WHEN POW-KEY-DOWN
DISPLAY "Abajo"

WHEN POW-KEY-LEFT
DISPLAY "Izquierda"

WHEN POW-KEY-RIGHT
DISPLAY "Derecha"

END-EVALUATE
END-IF

Begoguay
30 de abril de 2020, 19:54
Hola.

Yo lo hago en el evento KeyUp del control, en lugar de en el evento PreKeyDown del formulario y me funciona perfectamente.

Un saludo.

Josber
30 de abril de 2020, 21:25
Yo lo hago en el evento KeyUp del control

¿Y te funciona con las teclas del cursor (Arriba, Abajo, Derecha ...)?, porque a mi no me funciona con esas teclas.

Un saludo.-

Begoguay
1 de mayo de 2020, 14:09
¿Y te funciona con las teclas del cursor (Arriba, Abajo, Derecha ...)?, porque a mi no me funciona con esas teclas.


Pues yo lo pruebo en el control Table, y si lo hago en el KeyDown, no me hace lo que yo quiero, pero con el KeyUp si.