Splitter, inversión de lugar de los controles hijos - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Splitter, inversión de lugar de los controles hijos (/thread-1158.html) |
Splitter, inversión de lugar de los controles hijos - Shell - 04-01-2023 Buenas!. Imaginar que tenéis dos paneles y estos están dentro de un control slider (su contenedor padre ). Vais añadiendo controles en cada uno de los paneles y cuando vais a ejecutar el proyecto os encontráis que el panel1 está en el lugar del panel2 y viceversa, distinto a lo que veis en el modo edición. Aun no he encontrado el motivo, ya que lo hice de cero y no me ha pasado, en cambio me he encontrado este problema en un proyecto que estuve modificando y que no lo había creado personalmente. Es raro el efecto. ¿ Os ha pasado a vosotros ?. Por algún motivo ocurre, probablemente por los organizadores que los contienen, Ojo, sin usar la propiedad Direction. Que esta propiedad si que hace efecto raro. Saludos RE: Slider, inversión de lugar de los controles hijos - Shordi - 04-01-2023 Hace años que no uso ese contenedor. Ni idea. Saludos RE: Slider, inversión de lugar de los controles hijos - Shell - 04-01-2023 Cada uno de los dos paneles está compuesto de tres paneles apilados en vertical. Panel 1 - Distribución Vertical. Subpanel Contenedor 1 - Distribución Horizontal Subpanel Contenedor 2 - Distribución Horizontal Subpanel Contenedor 2 - Distribución Horizontal Panel 2 - Distribución Vertical. Subpanel Contenedor 1 - Distribución Horizontal Subpanel Contenedor 2 - Distribución Horizontal Subpanel Contenedor 2 - Distribución Horizontal Ambos Paneles, Panel1 y Panel2 se encuentra en un Splitter con distribución horizontal. El control Splitter sustituyó a VSplit y HSplit. La solución fue: He cambiado Panel 1 y Panel 2 por dos VBox y ya no se intercambia el lugar del Panel1 y el Panel2. Supongo que vosotros también os habréis encontrado problemas parecidos con los contenedores ó organizadores del espacio( como se llaman en otros lenguajes). Pero más bien debió ser con los "Box". Aquí fue al revés. Cita:Hace años que no uso ese contenedor. Ni idea. Entonces , ¿ Cómo creas un "Layout" ?. Ejemplo tienes dos paneles sobre un formulario y quieres que el primer panel ocupe el 40% del formulario y el otro el 60%. Cuando expandes ese "Layout" se sigue manteniendo. Supongo que juegas con el evento Resize del formulario. Saludos RE: Slider, inversión de lugar de los controles hijos - Shordi - 05-01-2023 Cita:Entonces , ¿ Cómo creas un "Layout" ?. Ejemplo tienes dos paneles sobre un formulario y quieres que el primer panel ocupe el 40% del formulario y el otro el 60%.Uso un Splitter, que creo que es al que te estás refiriendo como Slider por error (en mi anterior respuesta asumí que hablabas del ToolPanel, que también desliza sus hijos y que no uso desde hace años). Un Slider es una barra con un botón que se desliza, no un contenedor. El Splitter, como todos los contenedores, ubica sus hijos dependiendo del tipo de la propiedad Arrangement y buscando en su interior quién va primero. Quiero decir que si el Arrangement es vertical, colocará primero aquél que tenga la propiedad "Y" menor y el último el que la tenga mayor. Cierto es que en ocasiones (no recuerdo si con Splitter o con otro contenedor), me he encontrado con que no había manera de cambiar el orden y he tenido que llegar a eliminar el control y volver a crearlo para que se ubicara bien. En tu caso, al cambiar el tipo de hijo de panel a vBox, es exactamente lo que has hecho, así que supongo que se trata del mismo bug... Saludos RE: Splitter, inversión de lugar de los controles hijos - Shell - 05-01-2023 (05-01-2023, 11:07)Shordi escribió: Uso un Splitter, que creo que es al que te estás refiriendo como Slider por error (en mi anterior respuesta asumí que hablabas del ToolPanel, que también desliza sus hijos y que no uso desde hace años). Un Slider es una barra con un botón que se desliza, no un contenedor. Efectivamente era el splitter. (05-01-2023, 11:07)Shordi escribió: En tu caso, al cambiar el tipo de hijo de panel a vBox, es exactamente lo que has hecho, así que supongo que se trata del mismo bug... Es bien raro el efecto. He cambiado el título del mensaje. Saludos |