In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Foro de Xailer profesional en español
Cassiano de Oliveira
Posts: 475
Joined: Tue Jul 24, 2012 10:21 pm

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Postby Cassiano de Oliveira » Thu Jul 31, 2014 10:29 pm

lo he intentado.
SetKey( VK_M, VK_MENU, { || MyFuncion() } )
¿cómo hacer?
Tengo un formulario con un Examinar y utilizar el evento OnKeyDown para
manejar las llaves, pero no puedo manejar la combinación de teclas ALT + M,
por ejemplo.
Otro detalle es que el uso tb SetKey (VK_F1, 0, {| | MyFuncion ()})
Cuando me subo a esa forma sólo ha 01 TDBBrowse y pulse F1 en el formulario
se activa el evento OnKeyDown y el navegador no se llama función SetKey, la
forma de evitar esto?
saludos cordiales,
---
Este email está limpo de ví­rus e malwares porque a proteção do avast! Antiví­rus está ativa.
http://www.avast.com
joselalinf
Posts: 291
Joined: Thu Jan 31, 2013 1:10 pm

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Postby joselalinf » Fri Aug 01, 2014 12:05 pm

Cassiano,
es muy difí­cil entender lo que has escrito. Mejor hazlo en portugués o inglés.
Saludos,
José Lalí­n
Cassiano de Oliveira
Posts: 475
Joined: Tue Jul 24, 2012 10:21 pm

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Postby Cassiano de Oliveira » Fri Aug 01, 2014 2:15 pm

Desculpe Google Translate...
Tentei utilizar o comando abaixo para ativar a combinação de teclas ALT+M no
sistema e consequentemente chamar a função MyFuntion(), porém não funciona,
dá erro que não reconhece VK_M.
SetKey( VK_M, VK_MENU, { || MyFuncion() } )
Como fazer para que funcione ALT+M chamando determinada função?
Outra questão talvez relacionada.
Tentei em um FORM com um TDBBrowse com evento OnKeyDown controlar a
combinação de teclas ALT+M mas não consegui, percebi que não ativa o nKey.
Se eu tentar com outra tecla, por exemplo F1 com o comando abaixo também não
executa.
SetKey (VK_F1, 0, {| | MyFuncion ()})
Utilizando o Form anterior que tem o TDBBrowse com OnKeyDown, quando
pressiono F1 o sistema não executa o que foi definido no SetKey, o sistema
tenta ver se tem algo no OnKeyDown pra executar, teria como evitar isso, pra
obedecer o SetKey e não o OnKeyDown?
Atenciosamente,
Cassiano.
"José Lalí­n" wrote in message news:53db6610$1@svctag-j7w3v3j....
Cassiano,
es muy difí­cil entender lo que has escrito. Mejor hazlo en portugués o
inglés.
Saludos,
José Lalí­n
---
Este email está limpo de ví­rus e malwares porque a proteção do avast! Antiví­rus está ativa.
http://www.avast.com
joselalinf
Posts: 291
Joined: Thu Jan 31, 2013 1:10 pm

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Postby joselalinf » Fri Aug 01, 2014 4:55 pm

Cassiano,
> SetKey( VK_M, VK_MENU, { || MyFuncion() } )
SetKey( Asc( "M" ), FALT, {|| MsgInfo( "sim" ) } )
Donde los modificadores son: FALT, FCONTROL, y FSHIFT.
> Tentei em um FORM com um TDBBrowse com evento OnKeyDown controlar a
> combinação de teclas ALT+M mas não consegui, percebi que não ativa o nKey.
>
> Se eu tentar com outra tecla, por exemplo F1 com o comando abaixo também
> não executa.
>
> SetKey (VK_F1, 0, {| | MyFuncion ()})
Estás confundido en el modo de detectar la pulsación de tecla. Si pones el
SetKey( VK_F1...) en el OnInitialize() del formulario verás que sí­ se ejecuta.
> Utilizando o Form anterior que tem o TDBBrowse com OnKeyDown, quando
> pressiono F1 o sistema não executa o que foi definido no SetKey, o sistema
> tenta ver se tem algo no OnKeyDown pra executar, teria como evitar isso,
> pra obedecer o SetKey e não o OnKeyDown?
Para detectar F1 desde el browse debes procesar OnKeyDown así­:
METHOD BrwKeyDown( ...
IF nKey == VK_F1
MsgInfo( "F1 desde el browse" )
RETURN 0
ELSE IF nKey == Asc( "M" ) .AND. lGetKeyState( VK_MENU )
MsgInfo( "Alt+M desde el browse" )
ENDIF
RETURN Nil
La diferencia es que así­ procesas la tecla desde el browse pero si usas
SetKey() haces que esa pulsación funcione desde cualquier parte de la
aplicación.
Si necesitas alguna aclaración más, no dudes en preguntar.
Saludos,
José Lalí­n
Cassiano de Oliveira
Posts: 475
Joined: Tue Jul 24, 2012 10:21 pm

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Postby Cassiano de Oliveira » Sat Aug 02, 2014 3:13 am

Gracias José, entendi, vou testar e reporto os resultados.
Saludos.
"José Lalí­n" wrote in message news:53dbaa15$1@svctag-j7w3v3j....
Cassiano,
> SetKey( VK_M, VK_MENU, { || MyFuncion() } )
SetKey( Asc( "M" ), FALT, {|| MsgInfo( "sim" ) } )
Donde los modificadores son: FALT, FCONTROL, y FSHIFT.
> Tentei em um FORM com um TDBBrowse com evento OnKeyDown controlar a
> combinação de teclas ALT+M mas não consegui, percebi que não ativa o nKey.
>
> Se eu tentar com outra tecla, por exemplo F1 com o comando abaixo também
> não executa.
>
> SetKey (VK_F1, 0, {| | MyFuncion ()})
Estás confundido en el modo de detectar la pulsación de tecla. Si pones el
SetKey( VK_F1...) en el OnInitialize() del formulario verás que sí­ se
ejecuta.
> Utilizando o Form anterior que tem o TDBBrowse com OnKeyDown, quando
> pressiono F1 o sistema não executa o que foi definido no SetKey, o sistema
> tenta ver se tem algo no OnKeyDown pra executar, teria como evitar isso,
> pra obedecer o SetKey e não o OnKeyDown?
Para detectar F1 desde el browse debes procesar OnKeyDown así­:
METHOD BrwKeyDown( ...
IF nKey == VK_F1
MsgInfo( "F1 desde el browse" )
RETURN 0
ELSE IF nKey == Asc( "M" ) .AND. lGetKeyState( VK_MENU )
MsgInfo( "Alt+M desde el browse" )
ENDIF
RETURN Nil
La diferencia es que así­ procesas la tecla desde el browse pero si usas
SetKey() haces que esa pulsación funcione desde cualquier parte de la
aplicación.
Si necesitas alguna aclaración más, no dudes en preguntar.
Saludos,
José Lalí­n
---
Este email está limpo de ví­rus e malwares porque a proteção do avast! Antiví­rus está ativa.
http://www.avast.com
Cassiano de Oliveira
Posts: 475
Joined: Tue Jul 24, 2012 10:21 pm

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Postby Cassiano de Oliveira » Fri Nov 07, 2014 2:35 pm

Desculpe a demora...
O problema persiste.
Tenho um projeto e coloquei no OnInitialize o seguinte:
SetKey( VK_F11, 0, { || Consulta() } )
SetKey( VK_F8, 0, { || MsgAlert('Cancela Cupom Anterior') } )
Não funciona, não dá erro, mas não executa, como se não existisse a chamada.
O que estou errando?
[]´s
"Cassiano de Oliveira" wrote in message news:53dc3b61@svctag-j7w3v3j....
Gracias José, entendi, vou testar e reporto os resultados.
Saludos.
"José Lalí­n" wrote in message news:53dbaa15$1@svctag-j7w3v3j....
Cassiano,
> SetKey( VK_M, VK_MENU, { || MyFuncion() } )
SetKey( Asc( "M" ), FALT, {|| MsgInfo( "sim" ) } )
Donde los modificadores son: FALT, FCONTROL, y FSHIFT.
> Tentei em um FORM com um TDBBrowse com evento OnKeyDown controlar a
> combinação de teclas ALT+M mas não consegui, percebi que não ativa o nKey.
>
> Se eu tentar com outra tecla, por exemplo F1 com o comando abaixo também
> não executa.
>
> SetKey (VK_F1, 0, {| | MyFuncion ()})
Estás confundido en el modo de detectar la pulsación de tecla. Si pones el
SetKey( VK_F1...) en el OnInitialize() del formulario verás que sí­ se
ejecuta.
> Utilizando o Form anterior que tem o TDBBrowse com OnKeyDown, quando
> pressiono F1 o sistema não executa o que foi definido no SetKey, o sistema
> tenta ver se tem algo no OnKeyDown pra executar, teria como evitar isso,
> pra obedecer o SetKey e não o OnKeyDown?
Para detectar F1 desde el browse debes procesar OnKeyDown así­:
METHOD BrwKeyDown( ...
IF nKey == VK_F1
MsgInfo( "F1 desde el browse" )
RETURN 0
ELSE IF nKey == Asc( "M" ) .AND. lGetKeyState( VK_MENU )
MsgInfo( "Alt+M desde el browse" )
ENDIF
RETURN Nil
La diferencia es que así­ procesas la tecla desde el browse pero si usas
SetKey() haces que esa pulsación funcione desde cualquier parte de la
aplicación.
Si necesitas alguna aclaración más, no dudes en preguntar.
Saludos,
José Lalí­n
---
Este email está limpo de ví­rus e malwares porque a proteção do avast!
Antiví­rus está ativa.
http://www.avast.com
---
Este email está limpo de ví­rus e malwares porque a proteção do avast! Antiví­rus está ativa.
http://www.avast.com
User avatar
emeasoft
Posts: 1062
Joined: Wed Apr 01, 2009 4:12 pm
Location: emeasoft
Contact:

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Postby emeasoft » Fri Nov 07, 2014 5:23 pm

Cassiano, boa tarde:
Copiei
SetKey( VK_F11, 0, { || Consulta() } )
SetKey( VK_F8, 0, { || MsgAlert('Cancela Cupom Anterior') } )
para um Inicialize de um programa de teste.
Criei um função Consulta()
Se teclar F11 chama Consulta e F8 o MsgAlert.
Obs: para desativar utilize:
SetKey( VK_F8, 0, )
SetKey( VK_F11, 0, )
Qualquer dúvida conte conosco.
Abraços.
Mário Angelini
Cassiano de Oliveira
Posts: 475
Joined: Tue Jul 24, 2012 10:21 pm

SetKey( VK_M, VK_MENU, { || Function() } ) no Funciona

Postby Cassiano de Oliveira » Fri Nov 07, 2014 9:07 pm

Então... to achando estranho, se abro um projeto funciona, neste q to
fazendo não funciona... tem algo nesse projeto q esta bloqueando ou algo do
tipo... agora não sei o q pode ser.
[]´s
"www[dot]eMeAsOfT[dot]com" wrote in message
news:545cf213$1@svctag-j7w3v3j....
Cassiano, boa tarde:
Copiei
SetKey( VK_F11, 0, { || Consulta() } )
SetKey( VK_F8, 0, { || MsgAlert('Cancela Cupom Anterior') }
)
para um Inicialize de um programa de teste.
Criei um função Consulta()
Se teclar F11 chama Consulta e F8 o MsgAlert.
Obs: para desativar utilize:
SetKey( VK_F8, 0, )
SetKey( VK_F11, 0, )
Qualquer dúvida conte conosco.
Abraços.
Mário Angelini
--
http://www.eMeAsOfT.com
http://emeasoft.blogspot.com/
http://twitter.com/emeasoft
http://www.facebook.com/emeasoft
https://plus.google.com/102999253031532804222
http://g.co/maps/26gey
---
Este email está limpo de ví­rus e malwares porque a proteção do avast! Antiví­rus está ativa.
http://www.avast.com

Return to “Spanish”