Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
Objetivo: Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
Hola estoy haciendo una aplicacion en la cual necesito añadir controles en tiempo de ejecucion cuando el usuario pulse un button. Seria algo al estilo gedit al dar nuevo documento me abre una pestaña independiente con los nuevos controles, se deberian abrir tantas como el usuario quiera. No se si me he explicado. Alguien me puede echar una mano.
Objetivo: Re: Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
última edición por jsbsan el Lunes, 01 Noviembre 2010, 10:53; editado 1 vez
Usa un Tabstrip, y con la propiedad .count se vas añadiendo pestañas.
última edición por jsbsan el Lunes, 01 Noviembre 2010, 10:53; editado 1 vez
Objetivo: Re: Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
Eso es lo que tenia pensado. Pero mi problema es que cada pestaña tiene muchos controles, y necesito saber como crear eso.
Objetivo: Re: Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
Crea un formulario con los controles que necesites. Después, o bien puedes usar tabstrip, como comenta jsbsan e ir "embebiendo" una nueva instancia del formulario ya creado en un contenedor "panel" , o bien puedes usar MDI. De esa forma, cada nueva instancia del formulario, la puedes ir añadiendo al workspace.
http://gambasdoc.org/help/comp/gb.form.mdi/workspace
Esta solución es válida sólo si los controles que necesitas crear son los mismos para cada nueva pestaña, si no, deberás crear los controles para cada pestaña mediante código, lo cual complica mucho más las cosas.
Saludos
http://gambasdoc.org/help/comp/gb.form.mdi/workspace
Esta solución es válida sólo si los controles que necesitas crear son los mismos para cada nueva pestaña, si no, deberás crear los controles para cada pestaña mediante código, lo cual complica mucho más las cosas.
Saludos
Objetivo: Re: Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
Ok eso seria lo ideal, MDI y workspace. sabes de algun ejemplo para poder echarle un vistazo.
Objetivo: Re: Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
última edición por Invitado el Lunes, 01 Noviembre 2010, 19:39; editado 3 veces
Bien, yo lo uso en Areida, pero es algo más complicado. Te lo explico aquí. Diseñas un formulario y le pones de nombre "Fsec", y a éste le añades los controles que quieras (como cualquier formulario). Luego supongamos que tienes una función llamada "NewTab", y que el control Workspace que tienes se llama hWork:
¿Cómo puedes acceder a los datos de cada formulario? Bien, tienes varias maneras. Si todos los formularios que añades son los mismos, está fácil. Usando Object.Call y Object.{Get | Set}Property puedes cambiar propiedades o lanzar métodos. Por ejemplo, en el formulario Fsec tienes una función llamada UndoGa() que necesita una cadena, y devuelve otra. En el formulario que contiene el workspace (hWork) tienes un botón que obtendrá una propiedad del formulario embebido y ejecutará un método del mismo. Veamos..
Examinemos. Primero declaramos una variable llamada prop, luego obtenemos el valor de la propiedad Title, y lo almacenamos en prop. Una vez hecho esto llamamos al método UndoGa, con un argumento sólo, esta vez, siempre almacenado en un Array, que devuelve una cadena. En este caso prop vuelve a ser donde se almacena, pero no es obligatorios. Te añado un ejemplo para que lo entiendas mejor, es un muy simple editor de textos con pestañas.
Cualquier duda, exprésala.
Saludos
¿Cómo puedes acceder a los datos de cada formulario? Bien, tienes varias maneras. Si todos los formularios que añades son los mismos, está fácil. Usando Object.Call y Object.{Get | Set}Property puedes cambiar propiedades o lanzar métodos. Por ejemplo, en el formulario Fsec tienes una función llamada UndoGa() que necesita una cadena, y devuelve otra. En el formulario que contiene el workspace (hWork) tienes un botón que obtendrá una propiedad del formulario embebido y ejecutará un método del mismo. Veamos..
Examinemos. Primero declaramos una variable llamada prop, luego obtenemos el valor de la propiedad Title, y lo almacenamos en prop. Una vez hecho esto llamamos al método UndoGa, con un argumento sólo, esta vez, siempre almacenado en un Array, que devuelve una cadena. En este caso prop vuelve a ser donde se almacena, pero no es obligatorios. Te añado un ejemplo para que lo entiendas mejor, es un muy simple editor de textos con pestañas.
Cualquier duda, exprésala.
Saludos
última edición por Invitado el Lunes, 01 Noviembre 2010, 19:39; editado 3 veces
EjMDI-0.0.1.tar.gz | ||
Descripción: | Ejemplo del control Workspace | Descargar |
Nombre del archivo: | EjMDI-0.0.1.tar.gz | |
Tamaño: | 8.02 KB | |
Descargado: | 106 veces |
EjMDI-0.0.1.tar.gz | ||
Descripción: | Ejemplo del control Workspace | Descargar |
Nombre del archivo: | EjMDI-0.0.1.tar.gz | |
Tamaño: | 8.02 KB | |
Descargado: | 106 veces |
EjMDI-0.0.1.tar.gz | ||
Descripción: | Ejemplo del control Workspace | Descargar |
Nombre del archivo: | EjMDI-0.0.1.tar.gz | |
Tamaño: | 8.02 KB | |
Descargado: | 106 veces |
Página 1 de 1
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.4027s (PHP: -79% SQL: 179%)
Consultas SQL: 49 - Debug off - GZIP Activado