FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ¿Cómo se hace cuando un CHECKBOX tiene el foco?
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
¿Cómo se hace cuando un CHECKBOX tiene el foco?
Posted: Thu Jul 24, 2014 03:43 PM
Hola foro :-)
Tengo el siguiente codigo
Code (fw): Select all Collapse
REDEFINE GET oGet VAR xGet ID 4017 OF oDlg   // el GET está inicialmente oculto
REDEFINE CHECKBOX oPar  VAR aDatos  ID 4013 OF oDlg UPDATE

   oPar:bGotFocus  = { || oGet:Show() }  
   oPar:bLostFocus = { || oGet:Hide() }


Lo que pretendo es que cuando el CHECKBOX tenga el foco el GET aparezca y desaparezca en cuanto el CHECKBOX pierda el foco, pero el código expuesto no funciona, ¿que estoy haciendo mal? :-)
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?
Posted: Thu Jul 24, 2014 05:46 PM
Holá, mira se ayuda:

Code (fw): Select all Collapse
#include "Fivewin.ch"

#Define BM_GETCHECK 240
#Define BM_SETCHECK 241

FUNCTION MAIN()

    LOCAL oDlg

    LOCAL oChk, lChk := .F., lChk2 := .t.
    LOCAL cCad := "Testing    "
    LOCAL lCheckBox := .F.

    DEFINE DIALOG oDlg

    oDlg:lHelpIcon := .F.

    @ 0.7, 1 CHECKBOX oChk VAR lCheckBox OF oDlg COLOR CLR_YELLOW, CLR_GREEN ;
             ON CHANGE( CAMBIA_CheckBox( lCheckBox, oGet )  )

    @ 3,    6 GET oGet VAR cCad OF oDlg SIZE 60, 10 COLOR "W/R" PICTURE "@K"

    @ 3, 1 BUTTON "&Salir" ACTION oDlg:End()

    ACTIVATE DIALOG oDlg CENTER ON INIT( oGet:Hide() )

RETURN NIL

FUNCTION CAMBIA_CheckBox( lCheckBox, oGet )

   IF lCheckBox  //-> Se For .T.
      oGet:Show()
   ELSE
      oGet:Hide()
   ENDIF

RETURN( .T. )
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?
Posted: Thu Jul 24, 2014 07:35 PM
Proba asi:
Code (fw): Select all Collapse
#include "Fivewin.ch"

FUNCTION MAIN()

    LOCAL oPar, lChk := .F., oGet, xGet := "Testing    ", oBot, oDlg

    DEFINE DIALOG oDlg

    oDlg:lHelpIcon := .F.

    @ 5, 1 CHECKBOX oPar VAR lChk OF oDlg PROMPT "Test" SIZE 60,10 PIXEL    
    oPar:bGotFocus  = { || oGet:Show() }  
    oPar:bLostFocus = { || oGet:Hide(), oPar:oJump := oBot }

    @20, 1 GET oGet VAR xGet OF oDlg SIZE 60, 10 PIXEL

    @35, 1 BUTTON oBot PROMPT "&Salir" ACTION oDlg:End() PIXEL

    ACTIVATE DIALOG oDlg CENTER ON INIT( oGet:Hide() )

RETURN NIL
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?
Posted: Fri Jul 25, 2014 11:09 AM

Ante todo gracias por responder Karinha y CmSoft.

Quizá no me expliqué bien, lo que necesito es que el GET aparezca cuando SE SELECCIONA el checkbox, independientemente del valor que este tenga, y que desaparezca cuando el checkbox pierda el foco independientemente del valor que este tenga.

Gracias por su interés :shock:

Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?
Posted: Fri Jul 25, 2014 03:10 PM
Es como te puse!!
Code (fw): Select all Collapse
REDEFINE GET oGet VAR xGet ID 4017 OF oDlg   // el GET está inicialmente oculto
REDEFINE CHECKBOX oPar  VAR aDatos  ID 4013 OF oDlg UPDATE

   oPar:bGotFocus  = { || oGet:Show() }  
   oPar:bLostFocus = { || oGet:Hide(),oGet:oJump := oGet2 } // o algun otro control que este despues de ese

Si solo tenes esos dos controles, no va a funcionar.
Proba el ejemplo que te puse que funciona como vos pedis
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?
Posted: Fri Jul 25, 2014 04:22 PM

cmsoft, te pido disculpas, soy yo quien no te entendió

ya funciona, muchas gracias :shock:

Continue the discussion