Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Añadir En Tiempo De Ejecucion Al Estilo De "gedit"

Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
Artículo
Responder citando    Descargar mensaje  
Mensaje 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.



 
destroyer - Ver perfil del usuario Enviar mensaje privado  
destroyer [ Lunes, 01 Noviembre 2010, 10:16 ]
 


Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Añadir En Tiempo De Ejecucion Al Estilo De "gedit" 
 
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 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Lunes, 01 Noviembre 2010, 10:53 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
destroyer - Ver perfil del usuario Enviar mensaje privado  
destroyer [ Lunes, 01 Noviembre 2010, 10:56 ]
Responder citando    Descargar mensaje  
Mensaje 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



 
jguardon - Ver perfil del usuario Enviar mensaje privado  
jguardon [ Lunes, 01 Noviembre 2010, 11:30 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
destroyer - Ver perfil del usuario Enviar mensaje privado  
destroyer [ Lunes, 01 Noviembre 2010, 11:36 ]
Responder citando    Descargar mensaje  
Mensaje Re: Añadir En Tiempo De Ejecucion Al Estilo De "gedit" 
 
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:

Public Procedure NewTab()
Dim nForm as Fsec

nForm = New Fsec
hWork.Add(nForm)
End


¿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..

Public Procedure btnGet()
Dim prop as String

prop= Object.GetProperty(hWork.ActiveWindow,"Title")
prop = Object.Call(hWork.ActiveWindow,"UndoGa", [prop])
End
 

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

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: 109 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: 109 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: 109 veces




 
última edición por Invitado el Lunes, 01 Noviembre 2010, 19:39; editado 3 veces 
   
Ayortano [ Lunes, 01 Noviembre 2010, 19:12 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron