Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Label Creada En Tiempo De Ejecucion
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Label Creada En Tiempo De Ejecucion 
 
Hola

Me sucede lo siguiente:

Si quiero agregar un Label puesto en el IDE a un grupo, no tengo ningún problema y los eventos del grupo (por ejemplo MouseDown()) responden sin problema. Pero si quiero agregar el Label a un grupo por codigo me aparece el error:

"Símbolo 'Group' desconocido en la clase Label"

Alguien tiene alguna idea o me estoy equivocando en algo.

El código donde lo hago es el siguiente:

item = New HPanel(HPanelItems)
  With item
    .name = "item" & Str(contador)
    .Expand = True
    .tag = "numero"
    .H = 30
  End With

  lblItem = New Label(item)
  With lblItem
    .W = 30
    .h = 30
    .Text = contador
    .Tag = "numero"
    .Font.Bold = True
    .Border = 1
    .Background = nColor
    .Alignment = Align.center
    .Group = "xxx"                                    'Aqui el error
  End With

 



 
whisper - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Label Creada En Tiempo De Ejecucion 
 
tiene pinta de ser un bug

ya que al poner .   (Punto)

la propiedad group no aparece.

lo probé en mi pc y me pasa lo mismo.

saludos.
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Viernes, 16 Septiembre 2016, 04:33; editado 2 veces 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Label Creada En Tiempo De Ejecucion 
 
Hola, Whisper.

Por la información que he encontrado en inglés, es que Group es una propiedad sólo del IDE.
Acá un enlace donde Misini da algunas opciones a usar en ese caso:

https://sourceforge.net/p/gambas/mailman/message/8963906/

Una traducción por mi (no muy exacta) es:

1) Si necesitas administrar los eventos de muchos controles con el mismo manejador de eventos, usa la propiedad del control 'Group' en el IDE, o dale el mismo nombre a todos tus controles si los creas a mano.

2) Puedes poner todos los controles que necesites en un array Object[]. Es volver a la manera VB.

3) Si todos tus controles están en el mismo Contenedor (Container), puedes Enumerarlos con la propiedad Children de ese contenedor.

4) Puedes usar la propiedad Tag. En gambas, el Tag puede ser lo que tu quieras no solo una cadena (String).

5) Puedes usar Herencia y/o composición (?) con las clases de los controles nativos.

Espero te sirva,

Saludos....
 



 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Label Creada En Tiempo De Ejecucion 
 
La esencia de un grupo de objetos es compartir los mismos eventos.
En el IDE puedes usar la opción group, en tiempo real tienes otras maneras, como ya te han apuntado.
Otra manera, la más aproximada a usar el grupo en el  ide, es suministrar un nombre común de observer para todas.
Prueba ésto:
Public Sub Form_Open()

  Dim f As Textbox
  Dim n As Integer
  
  
  For n = 0 To 9
    f = New Textbox(Me) As "Etiqueta"   'Etiqueta es el nombre que damos al observador
    f.y = n * 28
    f.width = 100
    f.height = 28
    f.name = "caja" & Str(n)
    f.visible = True
  Next

End

Public Sub Etiqueta_Change() 'Los eventos de Etiqueta son colectivos para todos los textbox
  
  Print Last.Name
  
End

Te creará diez textboxes y cada vez que cambies uno de ellos te imprimirá su nombre en consola
 




===================
No podemos regresar
 
última edición por shordi el Viernes, 16 Septiembre 2016, 08:48; editado 2 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Label Creada En Tiempo De Ejecucion 
 
Hola a todos.

Disculpen la demora en contestar. Estuve leyendo sus respuestas y voy a probar cual es la opción que mas se adapta a lo que estoy haciendo.

Tal vez una combinación de cosas como poner el mismo nombre y distinto .tag, el problema es que estoy usando la opción .tag para otra cosa.

Después les cuento. Muchas Gracias por sus comentarios.
 



 
whisper - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Label Creada En Tiempo De Ejecucion 
 
whisper escribió: [Ver mensaje]
el problema es que estoy usando la opción .tag para otra cosa.



la propiedad tag  es un array de tipo variant así que podes usar la misma propiedad para muchas cosas

vuott puso un ejemplo por ahí ahora no se donde esta


saludos.
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Label Creada En Tiempo De Ejecucion 
 
Bueno, lo pude solucionar. Use el método que propuso shordi y quedo asi:

item = New HPanel(HPanelItems)
  With item
    .name = "item" & Str(contador)
    .Expand = True
    .tag = "numero"
    .H = 30
  End With

  lblItem = New Label(item) as "ObjItems"
  With lblItem
    .W = 30
    .h = 30
    .Text = contador
    .Tag = "numero"
    .Font.Bold = True
    .Border = 1
    .Background = nColor
    .Alignment = Align.center
   End With


... y en

ublic Sub ObjItems_MouseDown()

  .
  .
  aborrar = Last.name
  ...etc
End
 


...obtengo el nombre para identificar cual borrar.

Gracias a todos.
 



 
whisper - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Label Creada En Tiempo De Ejecucion 
 
Quiero solo añadir otras dos posibilidades.

Uso de la Clase Observer:
Public Sub Form_Open()

  Dim f As Textbox
  Dim n As Integer
  Dim obs As Observer
  
  For n = 0 To 9
    With f = New Textbox(Me)
      .X = 0
      .Y = n * 28
      .W = 100
      .H = 28
      .Name = "caja" & Str(n)
    End With
    obs = New Observer(f) As "Etiqueta"   'Etiqueta es el nombre que damos al observador
  Next

End


Public Sub Etiqueta_Change() 'Los eventos de Etiqueta son colectivos para todos los textbox
  
  Print Last.Name
  
End




Uso del metodo .Attach( ) de la Clase Object:
Public Sub Form_Open()

  Dim f As Textbox
  Dim n As Integer
  
  For n = 0 To 9
    With f = New Textbox(Me)
      .X = 0
      .Y = n * 28
      .W = 100
      .H = 28
      .Name = "caja" & Str(n)
    End With
    Object.Attach(f, Me, "Etiqueta")   'Etiqueta es el nombre que damos al observador
  Next

End


Public Sub Etiqueta_Change() 'Los eventos de Etiqueta son colectivos para todos los textbox
  
  Print Last.Name
  
End

 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Label Creada En Tiempo De Ejecucion 
 
Bien

Nuevamente gracias a todos. Nunca había usado esto de los observadores, pero ofrecen una alternativa a la opción "Group" por código y se ve con muchas posibilidades más.

Gracias.
 



 
whisper - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Tiempo De Ejecucion cyberx0x General 3 Viernes, 04 Diciembre 2009, 16:06 Ver último mensaje
soplo
No hay nuevos mensajes Como Desmarcar Los Radio Button En Tiempo ... fjvidals Controles/Librerías/Componentes 6 Martes, 28 Septiembre 2010, 18:57 Ver último mensaje
jguardon
No hay nuevos mensajes Indicar Valor A Propiedad Orientation En T... abarzuaf Controles/Librerías/Componentes 3 Domingo, 06 Marzo 2016, 06:37 Ver último mensaje
shordi
No hay nuevos mensajes Como Limitar En Tiempo La Ejecucion De Un ... tincho Aplicaciones/Fragmentos de Código 2 Jueves, 03 May 2018, 13:03 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