¿Por qué no puedo ejecutar un botón con enter cuando tiene el foco activado? Mis usuarios se aburren de estar usando el click del mouse a cada rato.
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Este bug lo tiene igualmente las versiones más modernas de power builder, así que esperemos que los señores de power soft puedan leer este tipo de preguntas para poder darle una solución. Bien Para efectuar la acción de ejecutar lo que hace el cursor y el click del ratón deberás hacer lo siguiente. 1-. Vas a la pestaña de eventos (Event List) del objeto botón, 2-. Presionando el botón derecho encontraras una opción en un menu emergente llamada ADD. Esto añade un evento 3- Una vez puesto en la pantalla de añadir un evento colocas en el nombre del evento la palabra KEY 4- Ahora vas a la parte de abajo y buscas EVENT ID. Aquí puedes optar por colocar un evento standard o propio del control, por lo general el nombre de este tipo de id tiene por delante las primeras letras del control por supuesto obviando las letras pbm_ Por ejemplo en el caso del botón pbm_cbdblclck este apunta al evento double click del commandbutton. En este caso no encontraras dicho evento relacionado. Entonces optas por el standard pbm_keydown al seleccionarlo power builder crea el evento y añade los argumentos necesarios. ahora ya tienes creado el evento que controla el movimiento del teclado. para finalizar. lo unico que tienes que añadir ahora es CHOOSE CASE key CASE KeyEnter! THIS.POSTEVENT(Clicked!) END CHOOSE El efecto sera el que buscas. Lo que sucede aquí es que el evento descubre que presionaste enter y en ese momento ejecuta el evento clicked() La función POSTEVENT() determina que el evento sera ejecutado una vez que el evento key sea finalizado. Así permite liberar del todo la relación entre un evento y otro.