FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour BUG en TRadMenu ( Radmenu.prg ) y FIX
Posts: 84
Joined: Fri Oct 07, 2005 04:51 PM
BUG en TRadMenu ( Radmenu.prg ) y FIX
Posted: Thu Feb 04, 2010 07:28 PM
Buenas,
Bueno al parecer toda la vida de fivewin existio este bug y nadie se ha dado cuenta :-) , el tema es que cuando se deshabilita via clausula bWhen algun Item de un RADIO, el sistema a traves de las teclas GO_DOW/GO_UP sigue moviendose encima de un item deshabilitado. La solucion que encontre es la siguiente:

REDEFINE RADIO oRadio ID 101,102,103 .....

supongamos que la opcion 2, en tiempo de ejecucion la debo deshailitar, entonces asigno al item
oRadio:aItems[2]:= {|| .F.}
oRadio:Refresh()

Esto funcionaba bien, es decir, deshabilita la opcion 2 y quedan activas la 1 y 3, PERO aun se sigue seleccionado la 2 a traves de las teclas VK_DOWN O VK_UP, cuando hacen la llamada en el KeyDown de algun item.

SOLUCION:

Modificar 2 metodos:
Code (fw): Select all Collapse
   METHOD GoPrevNext( lNext )  // Hernan 04/02/2010

   METHOD GoPrev() INLINE ::GoPrevNext( .F. )
//        ::SetOption( If( ::nOption == 1, Len( ::aItems ), ::nOption - 1 ) )

   METHOD GoNext() INLINE ::GoPrevNext( .T. )
//        ::SetOption( If( ::nOption == Len( ::aItems ), 1, ::nOption + 1 ) )


Crear un Metodo
Code (fw): Select all Collapse
METHOD GoPrevNext( lNext ) CLASS TRadMenu

   local nMove:= 0
   local nOption:= ::nOption

   DEFAULT lNext:= .F.

   while !( nMove > Len( ::aItems ) )
      nMove++

      if lNext
         nOption++
         nOption:= if( nOption > Len(::aItems), 1, nOption )
      else
         nOption--
         nOption:= if( nOption < 1, Len(::aItems), nOption )
      endif

      if ::aItems[nOption]:lWhen()
         ::nOption:= nOption
         exit
      endif

   enddo

   if nOption <> ::nOption
      ::SetOption( nOption )
   endif

return Self



Un Abrazo a todos.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: BUG en TRadMenu ( Radmenu.prg ) y FIX
Posted: Fri Feb 05, 2010 08:05 AM

Querido Hernan,

Implementado para FWH 10.2.

Gracias como siempre! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 84
Joined: Fri Oct 07, 2005 04:51 PM
Re: BUG en TRadMenu ( Radmenu.prg ) y FIX
Posted: Fri Feb 05, 2010 05:00 PM
Antonio Linares wrote:Querido Hernan,

Implementado para FWH 10.2.

Gracias como siempre! :-)


A tus ordenes, ya sabes :-)

Continue the discussion