Yamil,
> Me gustaria que al seleccionar un TExplorerGroup diferente al que tengo
> abierto, esete se cierre y abra el otro, es decir que solo haya uno
> expandido a la vez
> Es posible ?
Haría falta un evento OnItemExpand para controlarlo, que no existe
actualmente. Bueno, ya sí, porque lo acabo de poner

Añade lo siguiente a algún prg de tu proyecto:
//---------------------------------------------------------- ----------------
CLASS TExplorerBar FROM XExplorerBar
EVENT OnItemExpand( oSender, nItem )
METHOD WMLButtonDown()
ENDCLASS
//---------------------------------------------------------- ----------------
METHOD WMLButtonDown( nWParam, nLParam ) CLASS TExplorerBar
LOCAL nItem := ::HitTest( LoWord( nLParam ), HiWord( nLParam ) )
LOCAL lOk
IF nItem != 0
IF ( lOk := ::OnItemExpand( nItem ) ) == Nil .OR. lOk
::aItems[ nItem ]:lExpanded := !::aItems[ nItem ]:lExpanded
ENDIF
ENDIF
RETURN Nil
//---------------------------------------------------------- --------------------
Y después, en el formulario donde tengas la explorerbar, tendrás que asignar
a mano el evento (hasta que actualicemos el IDE). Lo puedes hacer en el
evento OnInitialize del formulario:
METHOD FormInitialize( oSender ) CLASS TForm1
::oExplorerBar1:OnItemExpand := "ExplorerBar1ItemExpand"
RETURN Nil
Para hacer lo que quieres, el código del evento quedaría más o menos así:
METHOD ExplorerBar1ItemExpand( oSender, nItem ) CLASS TForm1
IF !oSender:aItems[ nItem ]:lExpanded
AEval( oSender:aItems, {| oItem | oItem:lExpanded := .F. } )
ENDIF
RETURN Nil
--
Un saludo,
José F. Giménez