Crear un control de un formulario que puede usarse luego - 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: Crear un control de un formulario que puede usarse luego (/thread-1263.html) |
Crear un control de un formulario que puede usarse luego - Shell - 03-03-2023 Buenas!. Tengo un formulario como este. ( Es un ejemplo ). Este formulario se va crear varias instancias del mismo y se van a embeber (que nombre) en un formulario. Y podía ser esto como queda. Creo que es un uso normal y posible. El formulario es un contenedor de los controles que tiene y se instancia en otro formulario. ¿ Qué opinan ?. ¿ Es mejorable este método ?. ¿ Podría hacerlo de otra forma ?. ¿ MDI ?. ¿ Es más cómodo de esta forma ?. Ahora supongamos que tengo una serie de formularios o este en concreto y quiero usarlo en otros proyectos, puedo: - Importar el formulario. - ¿ Crear un control ?. Si fuera un control, en realidad no se esta creando un control nuevo que haga algo nuevo, tan solo es un formulario que usa controles que tiene el propio Gambas. Entonces el código de la clase no tiene apenas código y todo depende del formulario. Código: Export Os subo el código de ejemplo. Por defecto se ejecuta con la clase. Para hacerlo sin la clase ejecutar directamente desde el Fmain. Saludos RE: Crear un control de un formulario que puede usarse luego - Shordi - 04-03-2023 Cita:¿ Es mejorable este método ?.Un formulario es el observador de sus controles. En tu ejemplo los botones sólo mueven las barras, pero en condiciones reales dichos botones harían algo más ¿Desde dónde controlas lo que hacen? ¿Dónde y cómo colocas el observador del botón interno contenido en tu formulario? Si lo haces como un control, no como un formulario, el observador será directamente el formulario donde lo coloques y todo será más simple. Cita:¿ Podría hacerlo de otra forma ?. ¿ MDI ?.¿Podías hacerlo de otra forma? De tus preguntas intuyo que sabes que es posible (y según mi punto de vista preferible) hacer un control normal que utilizar un form, pero que es más cómodo usar un form por aquello de que no tienes que crear por código los controles internos (el progress bar y el botón). MDI no. No tiene nada que ver en éste caso, creo, y te complicaría aún más el tema de los observadores... Cita:- Importar el formulario.Si importas el formulario, además de lo ya expuesto, también tienes que importar el código que lo inserte en otro y, si lo modificas (aunque este ejemplo es muy simple) tendrás que modificarlo en todos los programas que lo usen. Saludos RE: Crear un control de un formulario que puede usarse luego - Shell - 05-03-2023 (04-03-2023, 11:35)Shordi escribió: En tu ejemplo los botones sólo mueven las barras, pero en condiciones reales dichos botones harían algo más ¿Desde dónde controlas lo que hacen? ¿Dónde y cómo colocas el observador del botón interno contenido en tu formulario? Siendo solo un ejemplo fue más para ver como iba a funcionar esto y cual debería ser la forma más sencilla. Los botones podían hacer otra cosa, pero en este caso solo activa una barra de progreso. Todo se controla desde el propio código de cada formulario instanciado y sus controles. No hay controles públicos y no se usan como variables en el formulario donde se crean las instancias. ( En realidad los controles públicos no me acaba de gustar, si es que existiese otra posibilidad). Vi en tu vídeo de crear un control compuesto que es como lo haces. (04-03-2023, 11:35)Shordi escribió: ¿Podías hacerlo de otra forma? De tus preguntas intuyo que sabes que es posible (y según mi punto de vista preferible) hacer un control normal que utilizar un form, pero que es más cómodo usar un form por aquello de que no tienes que crear por código los controles internos (el progress bar y el botón). Por eso lo hice directamente con el formulario, por la comodidad. (04-03-2023, 11:35)Shordi escribió: Si importas el formulario, además de lo ya expuesto, también tienes que importar el código que lo inserte en otro y, si lo modificas (aunque este ejemplo es muy simple) tendrás que modificarlo en todos los programas que lo usen. A ver como sale haciéndolo como control. Saludos |