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.
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.
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 UPDATECon C贸digo @ 贸 Recursos( resources )? Que intentas hacer exactamente? Un Ejemplo simples?
Regards, saludos.
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.
Santi:
Muestra tu c贸digo, por favor.
Saludos
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 0Yo 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.
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.
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