Page 1 of 1

Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Fri Mar 18, 2022 7:27 pm
by santidedos
Buenos días compañeros, quiero poner dos grupos de tres radiobuttons en el mismo dialogo, y no consigo que funcionen de forma independiente. En cambio, funcionan como un unico grupo de seis radiobuttons. Gracias de antemano.

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Fri Mar 18, 2022 9:30 pm
by leandro
Por código o por recursos?

//Si es por código es de la siguiente manera:
Code: Select all  Expand view

Local oRad ,oRad2
.....
@ 58,7 RADIO oRad VAR nRFlt ITEMS "Todos" OF oDlg SIZE 50, 25 UPDATE pixel ON CHANGE registraCambioFiltro()
@ 58,63 RADIOITEM "Fecha" RADIOMENU oRad OF oDlg SIZE 70, 25 pixel UPDATE

@ 58,7 RADIO oRad2 VAR nRFlt ITEMS "Todos" OF oDlg SIZE 50, 25 UPDATE pixel ON CHANGE registraCambioFecha()
@ 58,63 RADIOITEM "Fecha" RADIOMENU oRad2 OF oDlg SIZE 70, 25 pixel UPDATE
 

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Fri Mar 18, 2022 9:57 pm
by karinha
Con Código @ ó Recursos( resources )? Que intentas hacer exactamente? Un Ejemplo simples?

Regards, saludos.

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Sat Mar 19, 2022 5:48 pm
by santidedos
Cómo estás? Es con recursos. La idea es mostrar dos grupos de tres radiobuttons, y que cada uno de estos grupos funcione separado del otro.

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Sat Mar 19, 2022 7:01 pm
by Armando
Santi:

Muestra tu código, por favor.

Saludos

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Sat Mar 19, 2022 8:50 pm
by karinha
Mira se és esto:

https://imgur.com/ZpSYSGt

Image

Ejemplo funcionando perfecto.

Regards, saludos.

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Sat Mar 19, 2022 9:40 pm
by karinha

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Wed Mar 23, 2022 2:21 pm
by santidedos
Muchas gracias por el archivo! Estoy tratando de replicar tu ejemplo y no lo puedo hacer funcionar. Siguen funcionandome los dos grupos como si fuesen uno solo. Será que me está faltando configurar algo en recursos? Te paso la declaración del diálogo por si se me pasó algo.

Code: Select all  Expand view

Function FiltroCD()  

    Local oRad
    Local oRad2
    Local oDlg
    Local oBtn  := Array( 2, 0 )
    Local oCbx  := Array( 2, 0 )
    Local oGet  := Array( 2, 0 )
    Local lInit := .t.
   
   
    Define Dialog oDlg Resource 'FILTROS_FACTURA' Color 0, CLR_WHITE
   
       REDEFINE GROUP oGroup  ID 4006 OF oDlg COLOR CLR_CYAN, CLR_WHITE;
      TRANSPARENT
   
        Redefine Get oGet[ 1 ] Var adFiltro[ 1 ] Id 4001 Picture "@D" Of oDlg
        Redefine Get oGet[ 2 ] Var adFiltro[ 2 ] Id 4002 Picture "@D" Of oDlg
        oGet[ 1 ] : bGotFocus := { || oGet[ 1 ] : SelectAll() }
        oGet[ 2 ] : bGotFocus := { || oGet[ 2 ] : SelectAll() }
        oGet[ 1 ] : oWnd : bKeyDown := { | nKey | If( nKey == VK_ESCAPE, oDlg : End(), ) }
       
        Redefine Radio oRad Var nOpFiltro Id 4003, 4004, 4005 Of oDlg
       
        oRad:aItems[1]:cTooltip := "ToolTip Radio 1"
    oRad:aItems[2]:cTooltip := "ToolTip Radio 2"
    oRad:aItems[3]:cTooltip := "ToolTip Radio 3"

       
        Redefine Radio oRad2 Var nOpFiltro2 Id 4008, 4009, 4010 Of oDlg
       
        oRad2:aItems[1]:cTooltip := "ToolTip Radio 1"
    oRad2:aItems[2]:cTooltip := "ToolTip Radio 2"
    oRad2:aItems[3]:cTooltip := "ToolTip Radio 3"

        Redefine BtnBmp oBtn[ 1 ] Id 202 Prompt "&Cerrar"  Of oDlg Center Action oDlg : End()
        Redefine BtnBmp oBtn[ 2 ] Id 201 Prompt "&Filtrar" Of oDlg Center Action ( Filtra( oDlg ) )
        oBtn[ 1 ] : l2013 := .t.
        oBtn[ 2 ] : l2015 := .t.
       
        oDlg : bMoved    := { || If( ! lInit, SaveDlgPos( oDlg, "FILTROS_FACTURA" ), nil ) }
   
    Activate Dialog oDlg On Init ( oDlg : lHelpIcon := .f., RestoreDlgPos( oDlg, "FILTROS_FACTURA" ), lInit := .f., oDlg : bLClicked := { || MoveWin( oDlg ) } ) On Paint PintaCuadro( oDlg,, "Filtro Por Fechas" ) ;
                Valid ( SaveDlgPos( oDlg, "FILTROS_FACTURA" ), .t. )
    Return 0

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Wed Mar 23, 2022 2:33 pm
by leandro
Yo veo tu código bien

Lo creo que esta pasando es un efecto visual que genera el windows, como si fuera uno, cuando le das clic en los radios superiores se desaparecen la selección de los inferiores y viceversa, pero la variable esta correctamente definida.

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Wed Mar 23, 2022 2:44 pm
by karinha
santidedos wrote:Muchas gracias por el archivo! Estoy tratando de replicar tu ejemplo y no lo puedo hacer funcionar. Siguen funcionandome los dos grupos como si fuesen uno solo. Será que me está faltando configurar algo en recursos? Te paso la declaración del diálogo por si se me pasó algo.

Code: Select all  Expand view

Function FiltroCD()  

    Local oRad
    Local oRad2
    Local oDlg
    Local oBtn  := Array( 2, 0 )
    Local oCbx  := Array( 2, 0 )
    Local oGet  := Array( 2, 0 )
    Local lInit := .t.
   
   
    Define Dialog oDlg Resource 'FILTROS_FACTURA' Color 0, CLR_WHITE
   
       REDEFINE GROUP oGroup  ID 4006 OF oDlg COLOR CLR_CYAN, CLR_WHITE;
      TRANSPARENT
   
        Redefine Get oGet[ 1 ] Var adFiltro[ 1 ] Id 4001 Picture "@D" Of oDlg
        Redefine Get oGet[ 2 ] Var adFiltro[ 2 ] Id 4002 Picture "@D" Of oDlg
        oGet[ 1 ] : bGotFocus := { || oGet[ 1 ] : SelectAll() }
        oGet[ 2 ] : bGotFocus := { || oGet[ 2 ] : SelectAll() }
        oGet[ 1 ] : oWnd : bKeyDown := { | nKey | If( nKey == VK_ESCAPE, oDlg : End(), ) }
       
        Redefine Radio oRad Var nOpFiltro Id 4003, 4004, 4005 Of oDlg
       
        oRad:aItems[1]:cTooltip := "ToolTip Radio 1"
    oRad:aItems[2]:cTooltip := "ToolTip Radio 2"
    oRad:aItems[3]:cTooltip := "ToolTip Radio 3"

       
        Redefine Radio oRad2 Var nOpFiltro2 Id 4008, 4009, 4010 Of oDlg
       
        oRad2:aItems[1]:cTooltip := "ToolTip Radio 1"
    oRad2:aItems[2]:cTooltip := "ToolTip Radio 2"
    oRad2:aItems[3]:cTooltip := "ToolTip Radio 3"

        Redefine BtnBmp oBtn[ 1 ] Id 202 Prompt "&Cerrar"  Of oDlg Center Action oDlg : End()
        Redefine BtnBmp oBtn[ 2 ] Id 201 Prompt "&Filtrar" Of oDlg Center Action ( Filtra( oDlg ) )
        oBtn[ 1 ] : l2013 := .t.
        oBtn[ 2 ] : l2015 := .t.
       
        oDlg : bMoved    := { || If( ! lInit, SaveDlgPos( oDlg, "FILTROS_FACTURA" ), nil ) }
   
    Activate Dialog oDlg On Init ( oDlg : lHelpIcon := .f., RestoreDlgPos( oDlg, "FILTROS_FACTURA" ), lInit := .f., oDlg : bLClicked := { || MoveWin( oDlg ) } ) On Paint PintaCuadro( oDlg,, "Filtro Por Fechas" ) ;
                Valid ( SaveDlgPos( oDlg, "FILTROS_FACTURA" ), .t. )
    Return 0


Muestre completo para el señor Leandro Mirar. Haga un .ZIP ó .RAR completo.

Regards, saludos.

Re: Dos grupos de radiobuttons en el mismo dialogo

PostPosted: Wed Mar 23, 2022 3:11 pm
by karinha
??? Que és esto?

Code: Select all  Expand view
On Paint PintaCuadro


???

Regards, saludos.