[SOLUCIONADO] Cambiar la posición TAB en la jerarquía por código - 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: [SOLUCIONADO] Cambiar la posición TAB en la jerarquía por código (/thread-160.html) |
Cambiar la posición TAB en la jerarquía por código - gambafeliz - 25-10-2020 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. RE: Cambiar la posición TAB en la jerarquía por código - jsbsan - 25-10-2020 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? RE: Cambiar la posición TAB en la jerarquía por código - cogier - 25-10-2020 Esta es una pregunta interesante. He creado el código adjunto y reordena el orden de los 'TextBoxes'. RE: Cambiar la posición TAB en la jerarquía por código - gambafeliz - 25-10-2020 (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. 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? RE: Cambiar la posición TAB en la jerarquía por código - cogier - 25-10-2020 Bien, creo que lo entiendo. Echa un vistazo a mi último código. RE: Cambiar la posición TAB en la jerarquía por código - gambafeliz - 25-10-2020 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. |