gambafeliz   25-10-2020, 09:32
#1
Hola a tod@s

Me preguntaba si alguien a tenido la necesidad de cambiar la posición jerárquica de por ejemplo un TextBox de un formulario en tiempo de ejecución.

Pero, ¿como?

Yo he hecho una prueba y he dado con la respuesta, pero mi prueba es llamemos lo así como si de un hombre de las cavernas fuera. Mi prueba es para mi inviables.

Y es que esto es verdaderamente importante, ya que he comprobado que la posición jerárquica es el mismo orden que tiene Me.Children, y que quiere decir esto, que si queremos trabajar con el orden de Me.Children en un For Each este orden es exactamente el mismo que posee la jerarquía del editor de Gambas.

En fin, si alguien lo ha resuelto, por favor, sería tan amable de ayudarme. Gracias.

==============Solución==========================

Gracias a cogier en su versión 3 de su programa. Para mi este código es suficientemente válido para poder hacer lo que necesito.
Última modificación: 26-10-2020, 09:25 por gambafeliz.
jsbsan   25-10-2020, 11:22
#2
En los formularios, al lado derecho hay dos pestaña: Propiedades y Jerarquia.

Si te pones en la jerarquia (1), aparecen unos botones (2), con los que puedes mover el control seleccionado, ¿es eso lo que preguntas?
[Imagen: x8NR4gX.jpg]
cogier   25-10-2020, 13:10
#3
Esta es una pregunta interesante. He creado el código adjunto y reordena el orden de los 'TextBoxes'.
Archivos adjuntos
.gz
TestApp-0.0.2.tar.gz (Tamaño: 11.96 KB Descargas: 1)
gambafeliz   25-10-2020, 13:42
#4
(25-10-2020, 11:22)jsbsan escribió: ¿es eso lo que preguntas?

Gracias jsbsan pero esa no es la pregunta; pero agradezco tu intento de ayuda. Gráficamente (mediante el IDE) ya lo he superado desde hace tiempo. Pero ahora estoy intentando controlarlo mediante código.

Ya he visto mucho en los foros desde que he hecho la pregunta e incluso el desarrollador actual de Gambas mas o menos dice que no se puede. Pero como mi mente no tiene limites estoy ya pensando como voltearme la imposibilidad que impone Benoit.

Con la mollera (vamos que soy de piñón fijo) que tengo no hay quien me cambie de opinión.

(25-10-2020, 13:10)cogier escribió: Esta es una pregunta interesante. He creado el código adjunto y reordena el orden de los 'TextBoxes'.

Hola, cogier me alegro mucho hablar contigo te mando saludos y espero de verdad que estes muy bien. Smile

Te pido disculpas desde ya, no entiendo muy bien tu programa, lo he mirado rápidamente, ok, ahora voy a mirarlo más detenidamente.

Por otra parte ya te digo que me temo que esto no es lo que yo busco. Te voy a decir exactamente lo que pretendo hacer. Imagina conmigo.

Te lo resumo. Pretendo desde código en un formulario crear cuatro TextBox en el orden jerárquico que yo quiera, nombrarlo como yo quiera y posicionarlos en el formulario como yo desee.

Se como hacer la creación de los TextBox de forma dinámica en tiempo de ejecución pero no se como controlar la jerarquía del los TAB en los mismos. Seguramente Gambas asigna el orden jerárquico de forma dinámica y en el orden de creación de los controles.

¿Es así? ¿alguien se ha visto en la misma duda?
Última modificación: 25-10-2020, 14:42 por gambafeliz.
cogier   25-10-2020, 15:44
#5
Bien, creo que lo entiendo. Echa un vistazo a mi último código.
Archivos adjuntos
.gz
TestApp-0.0.3.tar.gz (Tamaño: 12.78 KB Descargas: 5)
gambafeliz   25-10-2020, 21:00
#6
Gracias, cogier

Por el momento no he visto el funcionamiento aunque creo que lo entiendo. La razón es que falla la linea hTB.Shuffle() creo que es por que no son String[] ya que son TextBox[]

¿A tí te funciona bien?

Si te funciona, ¿por que a mí no?

Hola, cogier

Ya me funciona he cambiado Shuffle() por Sort(gb.Ascent) y ya funciona.

Mira te cuento. Me parece genial lo que has hecho, pero lo que pido es más complejo, pero te lo agradezco enormemente.

Tu has hecho:

1. Crear TextBox dinamicamente y poner en orden de nombre y TAB, (Genial)
2. Desordenar los nombres de los TextBox dinamicamente y poner el orden de los TAB de arriba abajo. (En esto ha fallado)

Este último punto es incorrecto.

Desordenar los nombres de los TextBox dinamicamente esta bien pero los TAB deben seguir el orden de los Nombre de los TextBox, sino es así no es como yo lo quiero.

Ejemplo:

TextBox1 TAB0
TextBox2 TAB1
TextBox3 TAB2

Desordenar

TextBox2 TAB1
TextBox1 TAB0
TextBox3 TAB2

Mi objetivo es crear el TextBox en el lugar que quiera del Formulario y después asociar la lista Me.Children con el "Nombre (TextBox) y su número de creación
(1) = TextBox1"

Todo se resume en poder controlar la jerarquía de TAB de un formulario.

Nota: Quiero que sepas que tu código es muy parecido a la idea que tengo para resolver el problema. Con lo cual voy a estudiarlo por que es posible que retocando algo de tu código, llegue a la solución. Si lo consigo te lo cuento de inmediato.
Última modificación: 26-10-2020, 09:23 por gambafeliz.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.