Page 1 of 1

Capturar una tecla en un diálogo

Posted: Tue Nov 19, 2024 4:58 pm
by groiss
Buenas tardes:
Una consulta, tengo un diálogo muy simple con varios botones y varios gets, y lo que pretendo es que teniendo el foco en cualquiera de los elementos del diálogo al pulsar una tecla (por ejemplo la "v"), se dispare un proceso, se anule la pulsación y se sigan interpretando el resto de pulsaciones tras la de la tecla mencionada.
Estoy dándole vueltas pero no acabo de dar con la solución.
Muchas gracias
Un saludo

Re: Capturar una tecla en un diálogo

Posted: Tue Nov 19, 2024 5:04 pm
by Antonio Linares
Prueba con

SetKey( Asc( "v" ), { || ... } )

Re: Capturar una tecla en un diálogo

Posted: Tue Nov 19, 2024 7:05 pm
by leandro
No se si también te pueda servir

Code: Select all | Expand

oDlg:bkeydown:={|nKey,nFlag|if (nKey==VK_F4,(msginfo()),)}
 

Re: Capturar una tecla en un diálogo

Posted: Wed Nov 20, 2024 7:19 am
by groiss
Buenos días:
Muchas gracias a ambos, me decanto por el uso del SetKey, sólo tengo una pega y es que esté donde esté en el diálogo con SetKey el comportamiento es correcto y lanza la ejecución del bloque, pero si estoy en alguno de los gets, tras la ejecución del bloque mete el caracter en el get, y mi intención es que ese caracter no se procese mas que por el bloque de cógigo del SetKey.
Supongo que habrá una forma de evitarlo, pero no encuentro la forma.
Muchas gracias

Re: Capturar una tecla en un diálogo

Posted: Wed Nov 20, 2024 9:19 am
by Antonio Linares
Para conseguir el efecto que buscas tienes que usar una tecla de función, por ejemplo VK_F4

Re: Capturar una tecla en un diálogo - RESUELTO -

Posted: Wed Nov 20, 2024 11:50 am
by groiss
Muchas gracias, Maestro.
Tomo nota