Capturar una tecla en un diálogo

Capturar una tecla en un diálogo

Postby groiss » Tue Nov 19, 2024 4:58 pm

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
groiss
 
Posts: 225
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Capturar una tecla en un diálogo

Postby Antonio Linares » Tue Nov 19, 2024 5:04 pm

Prueba con

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42111
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Capturar una tecla en un diálogo

Postby leandro » Tue Nov 19, 2024 7:05 pm

No se si también te pueda servir

Code: Select all  Expand view  RUN

oDlg:bkeydown:={|nKey,nFlag|if (nKey==VK_F4,(msginfo()),)}
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Capturar una tecla en un diálogo

Postby groiss » Wed Nov 20, 2024 7:19 am

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
groiss
 
Posts: 225
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Capturar una tecla en un diálogo

Postby Antonio Linares » Wed Nov 20, 2024 9:19 am

Para conseguir el efecto que buscas tienes que usar una tecla de función, por ejemplo VK_F4
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42111
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

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

Postby groiss » Wed Nov 20, 2024 11:50 am

Muchas gracias, Maestro.
Tomo nota
groiss
 
Posts: 225
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 61 guests