Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Teclas de desplazamiento (https://www.cobolforo.es/showthread.php?t=1131)

Josber 28 de abril de 2020 22:11

Teclas de desplazamiento
 
¿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 ..

Código COBOL:
  1.  
  2.      EVALUATE POW-ARG-KEYASCII
  3.               WHEN POW-KEY-DOWN
  4.                     DISPLAY "ABAJO"
  5.               WHEN POW-KEY-UP
  6.                     DISPLAY "ARRIBA"
  7.      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

Cita:

Citación del post de Kuk (Mensaje 5586)
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:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-ARG-KEYCODE PIC S9(4) COMP-5.
  6.  01  POW-ARG-SHIFT   PIC S9(4) COMP-5.
  7.  PROCEDURE       DIVISION USING POW-ARG-KEYCODE POW-ARG-SHIFT.
  8.      
  9.      IF  "ActiveControl" OF POW-SELF = CmText1
  10.          EVALUATE POW-ARG-KEYCODE
  11.  
  12.              WHEN POW-KEY-UP
  13.                  DISPLAY "Arriba"
  14.              
  15.              WHEN POW-KEY-DOWN
  16.                  DISPLAY "Abajo"
  17.                  
  18.              WHEN POW-KEY-LEFT
  19.                  DISPLAY "Izquierda"
  20.                  
  21.              WHEN POW-KEY-RIGHT
  22.                  DISPLAY "Derecha"
  23.              
  24.          END-EVALUATE
  25.      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

Cita:

Citación del post de Begoguay (Mensaje 5598)
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

Cita:

Citación del post de Josber (Mensaje 5600)
¿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.


La franja horaria es GMT +2. Ahora son las 16:21.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.