Page 1 of 1

Saber el foco activo

Posted: Wed Feb 02, 2011 12:12 pm
by jgayoso
Tengo un oGet, oBrw, etc., ¿como puedo saber en tiempo de ejecución el nombre del objeto que tiene el foco?

Esto con el objeto de efectuar una accíón determinada al presionar la tecla ESC, segun donde este el foco.

Se agradece desde ya cualquier ayuda.

Re: Saber el foco activo

Posted: Wed Feb 02, 2011 1:22 pm
by Marcelo Via Giglio
Hola,

algo asi te sirve? o es muy simple

Code: Select all

#Include "FiveWin.Ch"


Function Main()
   Local oDlg
   Local oGet1,oGet2,oGet3,oGet4
   local cVar1 := space(11)
   local nVar2 := 0
   local nVar3 := 0
   local dVar4 := date(), n

   DEFINE DIALOG oDlg from 0,0 to 400,400 pixel

   @ 15,15 get oGet1 var cVar1 picture "@!" ;
   size 50,12 of oDlg pixel 
   oGet1:bLostFocus := {|| n := 1 }
   
   @ 40,15 get oGet2 var nVar2 picture "99999" ;
   size 50,12 of oDlg pixel 
   oGet2:bLostFocus := {|| n := 2 }

   @ 65,15 get oGet3 var nVar3 picture "99999.99" ;
   size 50,12 of oDlg pixel right
   oGet3:bLostFocus := {|| n := 3 }

   @ 90,15 get oGet4 var dVar4  ;
   size 50,12 of oDlg pixel 
   oGet4:bLostFocus := {|| n := 4 }

   ACTIVATE DIALOG oDlg 

   ? 'Sali de ',n
 
 return nil
Puedes utilizar tambien bGotFocus en lugar de bLostFocus

saludos

Marcelo