Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Añadir En Tiempo De Ejecucion Al Estilo De "gedit"
Autor Mensaje
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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.
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Lunes, 01 Noviembre 2010, 10:53; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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: 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

 



 
última edición por Invitado el Lunes, 01 Noviembre 2010, 19:39; editado 3 veces 
 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Un Detalle Con El Insert Into Gambas Value... jousseph Bases de Datos 5 Domingo, 04 Noviembre 2012, 20:58 Ver último mensaje
Shell
No hay nuevos mensajes Retos Para 1945 (1): Añadir "objeto ... jsbsan General 3 Lunes, 08 Septiembre 2014, 10:51 Ver último mensaje
vuott
No hay nuevos mensajes Ejecutar Archivos Audio MP3 Con La Clase &... vuott Aplicaciones/Fragmentos de Código 5 Lunes, 02 Diciembre 2019, 13:28 Ver último mensaje
tincho
No hay nuevos mensajes "Tracciamento-GNSS" Para La Geol... vuott Aplicaciones/Fragmentos de Código 0 Miercoles, 05 Febrero 2020, 12:39 Ver último mensaje
vuott
 

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


 
Lista de permisos
No puede crear mensajes
No 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



  

 

cron