Sobre Tabstrip Y Tabpanel. Otro Acertijo-jueguito Del Que No Conozco La Solución.


Objetivo: Sobre Tabstrip Y Tabpanel. Otro Acertijo-jueguito Del Que No Conozco La Solución.
Pongamos que tienes un tabstrip (o tabpanel, para el caso es lo mismo)

Pongamos que en el primer tab tiene un listado de registros.
Pongamos que al hacer doble click añades una pestaña al tabstrip y muestras en él el formulario correspondiente a ese registro.
Algo así como:

mitabstrip.count +=1 'añadimos la pestaña
mitabstrip.index=mitabstrip.count -1 'nos situamos en la pestaña abierta.
miscrollview=new scrollview(mitabstrip.current) 'le creamos un scrollview
funcion-que-rellena-el-scrollview-con-un-montón-de-hbox-con-distintos-controles(miscrollview) 'lo rellenamos con muchas cosas (para eso es scroll)
mitabstrip.index=mitabstrip.count -1 'nos situamos en la pestaña abierta.


En resumen, tienes un tabstrip con varias pestañas, las últimas creadas en tiempo de ejecución con muchos controles creados también en tiempo de ejecución -quiero decir que de ellos no sabes ni el tipo ni el nombre- en tiempo de diseño.

Vale.
Ahora tienes que cerrar esa pestaña. ¿Cómo?

No vale hacerla invisible, que es trampa.

última edición por shordi el Miercoles, 26 Febrero 2014, 11:34; editado 2 veces
Perfil MP  
Objetivo: Re: Sobre Tabstrip Y Tabpanel.
El body me pide que utilice un workspace y formularios distintos... pero necesitaría tres formularios (el que contiene el workspace, el que contiene la lista el que crea el detalle) y, francamente, no me apetece...

Perfil MP  
Objetivo: Re: Sobre Tabstrip Y Tabpanel. Otro Acertijo-jueguito Del Que No Conozco La Solución.
Shordi:


mitabstrip.count -=1

Asi borrarias la ultima pestaña que has creado.... ¿es eso lo que quieres?

Saludos

Julio

Objetivo: Re: Sobre Tabstrip Y Tabpanel. Otro Acertijo-jueguito Del Que No Conozco La Solución.
Citar:
Asi borrarias la ultima pestaña que has creado....


No, no. No se pueden borrar pestañas no vacías... El palo sigue vacante.

Perfil MP  
Objetivo: Re: Sobre Tabstrip Y Tabpanel. Otro Acertijo-jueguito Del Que No Conozco La Solución.
Bueno... yo ya lo he conseguido. No sé si es hacer trampa, como la otra vez... pero funciona guay.
El tema es que como creo que la pregunta es confusa y no habéis tenido el tiempo de currarosla como yo, voy de declarar desierto el palo, o anulado el concurso por falta de forma y os doy la solución que he encontrado esta tarde calentita, calentita.

Definición del problema de forma escueta:
¿Cómo cerrar una pestaña concreta dentro de un tabstrip si está llena de controles?

Lo de tabstrip.count -= 1 no vale porque sólo nos cierra la última y, además, sólo si no contiene ningún control.
tabstrip tiene un un método tabstrip.delete que hace lo que queremos... si la pestaña está vacía, claro.
Así, la pregunta viene a ser reformulada en ¿Cómo cerrar un montón de controles de todo tipo y condición sin conocer su número, nombre y demás?
Yo cambié la pregunta para mí por ¿qué conteneder cierra todo lo que contiene cuando le dices que se cierre a sí mismo?
Yo sólo conozco uno: El Form.
Por tanto la solución (o truco, aún no lo sé) es antes de empezar a llenar de controles el tabstrip, añadimos un form creado en tiempo de ejecución al tabstrip y los controles se los añadimos al él.
Para cerrarlo con :
mitabstrip[n].children[0].close
mitabstrip[n].delete

Todo solucionado.
Meto el palo en la caja para el próximo jueguito.
A este respecto hay un matiz, en lo de las referencias a los children y demás, ahí que quiero resaltar. Pero voy a abrir otro hilo.

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4079s (PHP: -76% SQL: 176%)
Consultas SQL: 46 - Debug off - GZIP Activado