Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[SOLUCIONADO]  Como agregar un control durante la ejecución y manejar sus eventos???
#1

Necesito ayuda en algo que seguramente para algunos sera una sonzera, pero nunca lo hice: en algun momento de la ejecucion del progrma voy a abrir un archivo, entoces tengo que agregar una TabStrip al lado de Drawing1, y meter otra TabStrip (o TabPanel) tal como esta ahi, con un control GLArea metido. Se puede hacer? Supongamos que el user intentara abrir muchos archivos....
Siendo la otra posibilidad de crearlos en el IDE , digamos unos 10 tabs y limitar la apertura de archivos a ese numero; y ocultando los tabs que no se usan. 

[Imagen: hh4UAqk.png]

"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
    ¡Gracias!
#2

pongo la solucion para lo que no saben, pero se me hace que todos lo sabian menos yo... Big Grin


GAMBAS
  1. ' Crea una nueva Tab para alojar un nuevo grafico
  2. Public Function NewTabForDrawing(sName As String) As Boolean
  3.  
  4.     Dim idx As Integer
  5.  
  6.     Me.tabDrawings.Count += 1 'Agrego un nuevo Tab
  7.     idx = Me.tabDrawings.Count - 1 'Obtengo el nuevo indice
  8.     Me.tabDrawings[idx].Text = sName
  9.     Me.tabDrawings[idx].Expand = True
  10.     Me.tabDrawings.Index = idx
  11.     Dim tabFileNew As New TabPanel(Me.tabDrawings[idx]) ' Agrego un tab al tab
  12.     tabFileNew.Count = 2 'Dos pestañas
  13.     tabFileNew.Expand = True ' Preparo para que se acomode
  14.     tabFileNew.Arrangement = Arrange.Fill
  15.     tabFileNew.Orientation = Align.Bottom
  16.     tabFileNew[0].Text = "Model"
  17.     tabFileNew[1].Text = "Paper"
  18.     Dim glaFile As New GLArea(tabFileNew[0]) 'Le inserto una GLArea
  19.     glaFile.Expand = True
  20.     glaFile.Tracking = True
  21.     Object.Attach(glaFile, Me, "GLArea1") 'Observo los eventos con ese nombre, ej GLArea1_Draw
  22.     Me.Refresh
  23.     Return True



"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
[-] Los siguientes 1 usuarios dice gracias a tercoide por este post:
  • Shordi
    ¡Gracias!
#3

Me pillaste lejos de un teclado, compañero... Big Grin

No podemos regresar
[-] Los siguientes 1 usuarios dice gracias a Shordi por este post:
  • tercoide
    ¡Gracias!
#4

Otro mensaje que tengo que dejar para leer más adelante.. Sad
Cachis!.

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#5

(19-07-2022, 00:52)tercoide escribió:  voy a abrir un archivo, entoces tengo que agregar una TabStrip al lado de Drawing1, y meter otra TabStrip (o TabPanel) tal como esta ahi, con un control GLArea metido. Se puede hacer? Supongamos que el user intentara abrir muchos archivos....

Hola terco, hay alternativas a usar controles creados en tiempo de ejecución y tabstrips, consiste en agregar botones dentro de un panel donde cada botón tiene el tag = ruta del archivo y luego con los eventos de estos botones dibujas en el DA tomando los datos desde la colección de datos de el plano actual, lo que permite que uses siempre el mismo DA.

1 Saludo.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)