Método Next y Previous de la clase Control - 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: Método Next y Previous de la clase Control (/thread-1193.html) |
Método Next y Previous de la clase Control - Shell - 26-01-2023 Buenas!. ¿ Habéis podido usar esos métodos ?. Supongamos que tengo un formulario con distintos controles y uno de ellos tiene el foco. ( A lo mejor no es necesario ). Y por un momento "he creido" que podría ser posible con esos métodos acceder al control siguiente y al anterior al que de alguna forma esta seleccionado, tiene el foco, digo yo que será de alguna forma. La ayuda de Gambas dice que: ( Todos esos métodos pertenecen a la clase control ). Next : Devuelve el próximo control que tiene el mismo padre Previous: Devuelve el control anterior que tiene el mismo padre. Si tengo un formulario con tres botones ( sin más) Y escribo algo como esto: Código: Print Me.Next Me.Next es nulo. ¿ Qué puedo haber hecho mal ?. ¿ Cómo puedo usar esos dos métodos ?. Ey, esto si devuelve algo. Código: Print Button1.Next.Name Devuelve Button2 Ostras. Y es que en ese código no se habla del padre de los controles. Distinto sería que usase esto: Código: Print Button1.Previous.Name Devolviendo Objeto nulo ¿ Esto se remonta a la jerarquía de controles del formulario o a controles que son de la misma clase ?. Ya que podía haber añadido después de boton1, textbox1. Saludos RE: Método Next y Previous de la clase Control - Shordi - 26-01-2023 Cita:Y por un momento "he creido" que podría ser posible con esos métodos acceder al control siguiente y al anterior al queSi te refieres a pasar de uno a otro, tienes el método de la clase Control SetFocus() Button1.Next.SetFocus() debería hacer el trabajo. Cita:Me.Next es nulo.Me.next es nulo porque estos métodos devuelven el anterior y el siguiente en la jerarquía de controles dentro del formulario. "Me" es una referencia al formulario, con lo que no tiene sentido lo de next. Cita:2: Button1 es el primero de la jerarquía, por lo que no tiene preivous. El Button1.Previous.Next devuelve nulo pues. Cita:¿ Esto se remonta a la jerarquía de controles del formulario o a controles que son de la misma clase ?.3: Se remonta a la jerarquía de controles del formulario, efectivamente. Saludos RE: Método Next y Previous de la clase Control - Shell - 26-01-2023 (26-01-2023, 19:05)Shordi escribió: Si te refieres a pasar de uno a otro, tienes el método de la clase Control SetFocus() Eso es. Estoy intentando convertir un ejemplo de la librería Tkinter donde se usan métodos parecidos y que trabajan con el foco. A ver si lo acabo y lo puedo subir. Es una mezcla del primer ejemplo usando el evento Change y uso del Foco. No será igual pero similar. (26-01-2023, 19:05)Shordi escribió: Me.next es nulo porque estos métodos devuelven el anterior y el siguiente en la jerarquía de controles dentro del formulario. "Me" es una referencia al formulario, con lo que no tiene sentido lo de next. Cierto. (26-01-2023, 19:05)Shordi escribió: Button1 es el primero de la jerarquía, por lo que no tiene preivous. El Button1.Previous.Next devuelve nulo pues. Era de esperar. Parece que no actúa igual esto en Tkinter. |