FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema con radiobutton
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Problema con radiobutton
Posted: Sat Nov 17, 2018 04:30 PM

Amigos,
tengo el siguiente problema, tengo dos radiobuttons un por la positiva y otra por la negativa. Si elijo la positiva se despliega un dialogo. Si selecciono la opción con el mouse todo se desarrolla como se espera pero si la selección la hago desde el teclado la acción se ejecuta dos veces. He estado buscando por aquí pero no encuentro nada sobre este problema. Alguien tiene alguna idea ? Desde ya muchas gracias.

Saludos

Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Problema con radiobutton
Posted: Mon Nov 19, 2018 08:51 PM

+1

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problema con radiobutton
Posted: Tue Nov 20, 2018 08:18 AM

Horacio,

Que versión de FWH usas ?

Puedes poner un ejemplo de cómo lo estás haciendo ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Problema con radiobutton
Posted: Tue Nov 20, 2018 01:01 PM
Antonio
uso FWH17.01, Harbour 3.2 y BCC7. Modifiqué testrad.prg que viene en samples para reproducir el error.

Code (fw): Select all Collapse
// Radio Buttons management sample

#include "FiveWin.ch"

//----------------------------------------------------------------------------//

function Main()

   local oDlg, oRadMenu, oBrush
   local nOption := 2

   SET _3DLOOK ON

   DEFINE DIALOG oDlg RESOURCE "Radios"

   REDEFINE RADIO oRadMenu VAR nOption ID 110, 120, 130, 140, 150 OF oDlg ;
      ON CHANGE ( If( nOption == 2, PonUnDialogo(), ) )

   REDEFINE BUTTON ID 100 OF oDlg ACTION oRadMenu:GoNext() ;
      WHEN nOption == 3

   REDEFINE BUTTON ID 102 OF oDlg ACTION oRadMenu:GoPrev()

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT oRadMenu:aItems[ 1 ]:SetText( "Hello" )

   SET _3DLOOK OFF

return nil

//----------------------------------------------------------------------------//
Function PonUnDialogo()

    Local cFile := cGetFile( "*.prg", "Seleccione un archivo" )
    
    Return 0
    
    


//----------------------------------------------------------------------------//

procedure AppSys  // XBase++ requirement

return

//----------------------------------------------------------------------------//


Muchísimas Gracias

Saludos
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problema con radiobutton
Posted: Wed Nov 21, 2018 12:19 PM
Code (fw): Select all Collapse
// Radio Buttons management sample

#include "FiveWin.ch"

STATIC lAccionRadio := .T.

//----------------------------------------------------------------------------//

function Main()

   local oDlg, oRadMenu, oBrush
   local nOption := 2

   SET _3DLOOK ON

   DEFINE DIALOG oDlg RESOURCE "Radios"

   REDEFINE RADIO oRadMenu VAR nOption ID 110, 120, 130, 140, 150 OF oDlg ;
      ON CHANGE ( Cambia_Radio( oRadMenu, nOption ) ) WHEN( lAccionRadio )

   //   ON CHANGE ( If( nOption == 2, PonUnDialogo(), ) )

   REDEFINE BUTTON ID 100 OF oDlg ACTION oRadMenu:GoNext() ;
      WHEN nOption == 3

   REDEFINE BUTTON ID 102 OF oDlg ACTION oRadMenu:GoPrev()

   // id cancel
   REDEFINE BUTTON ID 103 OF oDlg ACTION ( oDlg:End() ) CANCEL

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT oRadMenu:aItems[ 1 ]:SetText( "Hello" )

   SET _3DLOOK OFF

return nil

FUNCTION Cambia_Radio( oRadMenu, nOption )

   
   IF nOption = 2

      lAccionRadio := .F.

      PonUnDialogo()

   ELSE

      lAccionRadio := .T.

      nOption = 3

      oRadMenu:Enable()
      oRadMenu:Refresh()

      RETURN( .F. )

   ENDIF

RETURN( .T. )

//----------------------------------------------------------------------------//
Function PonUnDialogo()

   Local cFile

   cFile := cGetFile( "*.prg", "Seleccione un archivo" )
    
Return Nil
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Problema con radiobutton
Posted: Wed Nov 21, 2018 01:30 PM

Gracias Joao por tu respuesta, si bien funciona una vez que se ejecuta el diálogo el control radio se deshabilita y eso no me sirve. Evidentemente al volver a hacer foco en el control la acción se vuelve a ejecutar.

Saludos

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problema con radiobutton
Posted: Wed Nov 21, 2018 02:12 PM
Code (fw): Select all Collapse
// Radio Buttons management sample

#include "FiveWin.ch"

STATIC lAccionRadio := .T.
STATIC lRetorno     := .T.  // Controla cGetFile Vacio.

//----------------------------------------------------------------------------//

function Main()

   local oDlg, oRadMenu, oBrush
   local nOption := 2

   SET _3DLOOK ON

   DEFINE DIALOG oDlg RESOURCE "Radios"

   // Horacio, mira se sirve asi:

   REDEFINE RADIO oRadMenu VAR nOption ID 110, 120, 130, 140, 150 OF oDlg ;
      ON CHANGE ( Cambia_Radio( oRadMenu, nOption ) ) // WHEN( lAccionRadio )

   //   ON CHANGE ( If( nOption == 2, PonUnDialogo(), ) )

   REDEFINE BUTTON ID 100 OF oDlg ACTION oRadMenu:GoNext() ;
      WHEN nOption == 3

   REDEFINE BUTTON ID 102 OF oDlg ACTION oRadMenu:GoPrev()

   // id cancel
   REDEFINE BUTTON ID 103 OF oDlg ACTION ( oDlg:End() ) CANCEL

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT oRadMenu:aItems[ 1 ]:SetText( "Hello" )

   SET _3DLOOK OFF

return nil

FUNCTION Cambia_Radio( oRadMenu, nOption )

   IF nOption = 2

      lAccionRadio := .F.

      IF lRetorno

         nOption = 3

         lRetorno := .F.

         PonUnDialogo()

      ENDIF

   ELSE

      lAccionRadio := .T.

      lRetorno := .T.

      nOption = 3

      oRadMenu:Enable()
      oRadMenu:Refresh()

      RETURN( .F. )

   ENDIF

RETURN( .T. )

//----------------------------------------------------------------------------//
Function PonUnDialogo()

   Local cFile

   IF .NOT. lRetorno  // Horacio lRetorno := .T. accciona el cGetfile

      cFile := cGetFile( "*.prg", "Seleccione un archivo" )

      IF EMPTY( cFile )

         lRetorno := .F.

         RETURN( .F. )

      ELSE

         lRetorno := .T.

      ENDIF

   ENDIF
    
Return( .T. ) // Nil


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Problema con radiobutton
Posted: Wed Nov 21, 2018 02:41 PM

Muchísimas gracias Joao por tu tiempo, funciona perfectamente.

Saludos

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Problema con radiobutton
Posted: Wed Nov 21, 2018 03:27 PM
horacio wrote:Muchísimas gracias Joao por tu tiempo, funciona perfectamente.

Saludos


Bién!!

I LOVE FIVEWIN the best.

Fivewin, no me vence nunca. jajajajajajajajajajajajaja.

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problema con radiobutton
Posted: Wed Nov 21, 2018 06:20 PM

Muito obrigado ;-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion