Page 1 of 1

Ajuda com Get e Ids

Posted: Thu Nov 17, 2005 9:16 pm
by Wanderson
Olá estou implementando tecla de função para atalho de botões de consultas. Para não haver problemas de clicar um F2 por exemplo em qualquer get como saber de qual get foi acionado F2? ou o ID do controle?

Exemplo:

Set Key VK_F2 Consiste()

...

REDEFINE GET oGet1 VAR CODIGO // F2 não deve executar Consiste()
REDEFINE GET oGet2 VAR NOME // F2 deve executar Consiste()
...

Static Function Consiste()

If ???? <> ????
Return .t.
Endif
...

Return .t.


Obrigado.

Posted: Sat Nov 19, 2005 8:51 am
by Antonio Linares
Wanderson,

Una solución sería deshabilitar F2 en ese Get al tomar foco y restaurarlo al perderlo:

<oGet1>:bGotFocus = { || SetKey( VK_F2, nil ) }
<oGet1>:bLostFocus = { || SetKey( VK_F2, { || Consiste() } }

Posted: Sat Nov 19, 2005 8:52 am
by Antonio Linares
Otra posible solución es controlar que elemento tiene el foco:

Static Function Consiste()

If oDlg:aControls[ 1 ]:lFocused
Return .t.
Endif
...

Return .t.

Posted: Mon Nov 21, 2005 12:53 pm
by Wanderson
Gracias Antônio, funcionou estupendo.