Página 1 de 1

oOptionList:lvisible y oExplorerBar:aItems[n]:lVisible

Publicado: Mié Abr 05, 2006 10:28 am
por joseluis
Hola,
Es curioso (desde mi humilde punto de vista) el comportamiento que las
propiedades lVisible tiene en la OptionList y en un item de la
Explorerbar (que es una OptionaList).
Si hacemos ::oOptionList1:lVisible := .F. desaparecen los items de la
optionlist.
Si hacemos ::oExplorerBar:aItems[1]:lVisible := .F. desaparece la
optionlist.
Si no ando equivocado, ambas instrucciones apuntan al mismo control.
Sin embargo el comportamiento es diferente.
Os dejo un ejemplo que muestra este comportamiento.
Mi sugerencia serí­a que el comportamiento en ambos casos sea el mismo:
hacer desaparecer la optionlist.
Saludos y gracias,
José Luis Capel
--

oOptionList:lvisible y oExplorerBar:aItems[n]:lVisible

Publicado: Mié Abr 05, 2006 11:50 am
por jfgimenez
José Luis,
> Es curioso (desde mi humilde punto de vista) el comportamiento que las
> propiedades lVisible tiene en la OptionList y en un item de la
> Explorerbar (que es una OptionaList).
No es lo mismo
> Si hacemos ::oOptionList1:lVisible := .F. desaparecen los items de la
> optionlist.
En realidad desaparece la optionlist, pero como en el ejemplo está
transparente, da la impresión de que lo que desaparece son los items de la
optionlist
> Si hacemos ::oExplorerBar:aItems[1]:lVisible := .F. desaparece la
> optionlist.
No, lo que desaparece es el grupo 1 (TExplorerGroup), incluido su contenido.
> Si no ando equivocado, ambas instrucciones apuntan al mismo control.
> Sin embargo el comportamiento es diferente.
No, no hacen lo mismo.
> Os dejo un ejemplo que muestra este comportamiento.
>
> Mi sugerencia sería que el comportamiento en ambos casos sea el mismo:
> hacer desaparecer la optionlist.
En realidad, lo que no se debería hacer es ocultar la optionlist "a pelo".
El mecanismo correcto es ocultar el grupo, o bien, cerrar dicho grupo. Los
controles contenidos en una explorerbar no deberían ser manipulados
manualmente, ni ocultarlos, ni moverlos, ni redimensionarlos.
--
Un saludo,
José F. Giménez

oOptionList:lvisible y oExplorerBar:aItems[n]:lVisible

Publicado: Mié Abr 05, 2006 12:11 pm
por joseluis
José,
>
>
> No, lo que desaparece es el grupo 1 (TExplorerGroup), incluido su contenido.
>
>
Ya decí­a que algo me faltaba por el medio.
tExplorerBar->tExplorerGroup->tOptionList->tItemList.... no?
Saludos y gracias!
José Luis Capel

oOptionList:lvisible y oExplorerBar:aItems[n]:lVisible

Publicado: Mié Abr 05, 2006 12:18 pm
por jfgimenez
José Luis,
> Ya decía que algo me faltaba por el medio.
>
> tExplorerBar->tExplorerGroup->tOptionList->tItemList.... no?
Sí. Bueno, salvo que el último es TOptionListItem.
--
Un saludo,
José F. Giménez

oOptionList:lvisible y oExplorerBar:aItems[n]:lVisible

Publicado: Mié Abr 05, 2006 12:37 pm
por joseluis
José,
>
>
> En realidad, lo que no se deberí­a hacer es ocultar la optionlist "a pelo".
> El mecanismo correcto es ocultar el grupo, o bien, cerrar dicho grupo. Los
> controles contenidos en una explorerbar no deberí­an ser manipulados
> manualmente, ni ocultarlos, ni moverlos, ni redimensionarlos.
>
Entonces... a ver... para que me aclare mejor... Sengún el ejemplo que
he adjuntado, ¿como deberí­a hacer para que, dinámicamente (y en tiempo
de ejecución), haga desaparecer la primera optionlist/explorergroup?
Saludos y disculpas por el tostón que te estoy dando.
José Luis Capel

oOptionList:lvisible y oExplorerBar:aItems[n]:lVisible

Publicado: Mié Abr 05, 2006 12:48 pm
por jfgimenez
José Luis,
> Entonces... a ver... para que me aclare mejor... Sengún el ejemplo que he
> adjuntado, ¿como debería hacer para que, dinámicamente (y en tiempo de
> ejecución), haga desaparecer la primera optionlist/explorergroup?
::oExplorerBar1:aItems[1]:lVisible := .F.
Y si prefieres que en vez de desaparecer el grupo, simplemente se cierre:
::oExplorerBar1:aItems[1]:lExpanded := .F.
--
Un saludo,
José F. Giménez

oOptionList:lvisible y oExplorerBar:aItems[n]:lVisible

Publicado: Vie Abr 07, 2006 6:41 pm
por joseluis
José,
>
>
> ::oExplorerBar1:aItems[1]:lVisible := .F.
>
> Y si prefieres que en vez de desaparecer el grupo, simplemente se cierre:
>
> ::oExplorerBar1:aItems[1]:lExpanded := .F.
>
>
El orden de aItems es el orden de creación, ¿verdad?
Saludos,
José Luis Capel