¿Cómo se hace cuando un CHECKBOX tiene el foco?

¿Cómo se hace cuando un CHECKBOX tiene el foco?

Postby José Vicente Beltrán » Thu Jul 24, 2014 3:43 pm

Hola foro :)
Tengo el siguiente codigo
Code: Select all  Expand view
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? :shock:
User avatar
José Vicente Beltrán
 
Posts: 282
Joined: Mon Oct 10, 2005 8:55 am
Location: Algeciras, España

Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?

Postby karinha » Thu Jul 24, 2014 5:46 pm

Holá, mira se ayuda:

Code: Select all  Expand view

#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
User avatar
karinha
 
Posts: 7343
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?

Postby cmsoft » Thu Jul 24, 2014 7:35 pm

Proba asi:
Code: Select all  Expand view
#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
User avatar
cmsoft
 
Posts: 1204
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?

Postby José Vicente Beltrán » 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:
User avatar
José Vicente Beltrán
 
Posts: 282
Joined: Mon Oct 10, 2005 8:55 am
Location: Algeciras, España

Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?

Postby cmsoft » Fri Jul 25, 2014 3:10 pm

Es como te puse!!
Code: Select all  Expand view
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
User avatar
cmsoft
 
Posts: 1204
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: ¿Cómo se hace cuando un CHECKBOX tiene el foco?

Postby José Vicente Beltrán » Fri Jul 25, 2014 4:22 pm

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

ya funciona, muchas gracias :shock:
User avatar
José Vicente Beltrán
 
Posts: 282
Joined: Mon Oct 10, 2005 8:55 am
Location: Algeciras, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 18 guests