FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour setfocus
Posts: 149
Joined: Thu Jun 21, 2007 03:26 PM
setfocus
Posted: Wed May 14, 2008 12:59 PM

Hola. Tengo un problema. Tengo una aplicacion y necesito que al abrir un dialog, segun un parametro (un campo logico en una tabla), el cursor quede en 2 textbox diferentes (si el campo es .t., que quede, por ej en el text box ID 102, y si es false en el ID 109; El 102, el 109 y el resto me tienen que quedar habilitados, pero el cursos en uno de los 2 (no puedo manejarlo con el numero de orden del resource manager).
Pense en el setfocus, pero no me funciona. Pense en una instruccion on init (if(parametro=.t.,oget102:setfocus(),oget109:setfocus()), pero no funciona. Alguien tiene alguna idea, calculo que esto debe poder hacerse sin dramas, pero me falla; tengo la version de FIvewin para arbour de Marzo de 2008 (igualmente probe con otras 2 versiones anteriores, y ocurre lo mismo). Aclaro que en el ON INIT, ademas del IF que describo, tengo otras instrucciones que me habilitan / deshabilitan controles segun otros parametros.
Espero que me puedan dar una mano. Gracias. Atte.

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
setfocus
Posted: Wed May 14, 2008 02:40 PM
Intente ahoram en el ON INIT usando XFOCUS( oObjeto )

//-------------------------------------------------------------------------//
// As vezes simples SetFocus( oObj ) nao faz um objeto ganhar foco
// neste caso pode apelar para estas duas funcoes a seguir
// For‡ar foco para um objeto especifico - Ednaldo Rolim...
//-------------------------------------------------------------------------//
FUNCTION xSetFocus( oObj )

    LOCAL _oWnd := oObj:oWnd, _oTempo := ""

    DEFINE Timer _oTempo Interval 10 of _oWnd ;
           Action ( oObj:SetFocus(), _oTempo:End() )
    ACTIVATE Timer _oTempo

RETURN( .T. )

//-------------------------------------------------------------------------//
FUNCTION xFocus( oObj )

    xSetFocus( oObj )
    xSetFocus( oObj )

RETURN( .T. )
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion