Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Agregar Evento A Un Array De Botones Creados Por Codigo??
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Agregar Evento A Un Array De Botones Creados Por Codigo?? 
 
Buenas de nuevo!, nose si será esta calor, que me hace mas espeso de lo normal o que... pero no encuentro con el buscador algo parecido...

El caso es que creo una serie de botones gracias a un array:

DIM articulos AS NEW Object[32]

  contador1 = 0
  contadorcol = 0
  contadorarticulos = 0
  contadorposicionX = 5
  contadorposicionY = 5

  'Abro conexion
  ModConexion.Connect()
  'Realizo la consulta []
  Rs = ModConexion.$Con.Find("articulos", "categoria like '" & $categoria & "'")
  Rs.MoveFirst
  WHILE contadorarticulos < Rs.Length
    WHILE contadorcol < 5 AND contadorarticulos < Rs.Length
      articulos[contadorarticulos] = NEW ToolButton($a)
      articulos[contadorarticulos].Border = TRUE
      articulos[contadorarticulos].X = contadorposicionX
      articulos[contadorarticulos].Y = contadorposicionY
      articulos[contadorarticulos].Width = 100
      articulos[contadorarticulos].Height = 100
      articulos[contadorarticulos].Text = Rs!nombre
      contadorcol += 1
      contadorarticulos += 1
      contadorposicionX += 105
      Rs.MoveNext
    WEND
    contadorcol = 0
    contadorposicionX = 5
    contadorposicionY += 105
  WEND
 


El caso, es que estos botones me aparecen perfectamente, pero no sé como agregarles funcionalidad... como seria? :s me arrojáis algo de luz?

Gracias!
 



 
CanihoJR - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Evento A Un Array De Botones Creados Por Codigo?? 
 
Hola
Te falta el AS "manejador"

Mientras no le des un nombre al manejador de eventos tu grupo no manejará eventos.

Dim articulos as object[32]
Articulos=new object[32] as "minombre"
...
end

public sub minombre_click()
...
...
end


Un saludo
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Evento A Un Array De Botones Creados Por Codigo?? 
 
ajá, supongo que ahí estaba mi problema... el caso es que he declarado el array como me has mostrado, pero al ponerle el AS "MINOMBRE" me tira error gambas....

"Unexpected AS en linea 11....."

En que capitulo del libro (si es que viene), podría ver esto??
 



 
CanihoJR - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Evento A Un Array De Botones Creados Por Codigo?? 
 
Yo utilizo otra manera. Supón que creas un botón llamado bHacer que hace algo, claro:

  bon = NEW Button(pn)
            bon.Text = "Añadir"
            bon.Width = 70
            bon.picture=... 'las propiedades que quieras.
            bon.Name = "bHacer"
            bon.Action = "_" & bon.name                      'asigno un valor único a la propiedad Action del nuevo botón
      
  

Y luego en la función Action_Activate del Formulario:

PUBLIC SUB Action_Activate(key AS String) AS Boolean

     SELECT CASE key
   CASE "_bHacer"
       ..... lo que quieras que haga el botón.
 


El código es una simplificación del que uso, pero la idea supongo que se ve clara.

suerte
 




===================
No podemos regresar
 
última edición por shordi el Lunes, 04 Julio 2011, 11:24; editado 2 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Evento A Un Array De Botones Creados Por Codigo?? 
 
Citar:
En que capitulo del libro (si es que viene), podría ver esto??

En el libro no sé, pero en gambasdoc está aquí
Enlace

Yo creo que te da error por el 32. Crea el objeto y luego redimensionalo para tener los 32 items que quieres
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Evento A Un Array De Botones Creados Por Codigo?? 
 
Ajá!, ya va quedandome mas claro.... alfinal ha quedado algo asi:

PUBLIC FUNCTION articulostpv($a AS Object, OPTIONAL $categoria AS String)
  DIM Rs AS result
  DIM contador1 AS Integer
  DIM contadorcol AS Integer
  DIM contadorarticulos AS Integer
  DIM contadorposicionX AS Integer
  DIM contadorposicionY AS Integer
  DIM articulos AS Object[32]
  'articulos = NEW Object AS "btnarticulos"
 ' DIM articulos AS NEW Object[32]
  'articulos = NEW Object[32] AS "nombre"

  contador1 = 0
  contadorcol = 0
  contadorarticulos = 0
  contadorposicionX = 5
  contadorposicionY = 5

  'Abro conexion
  ModConexion.Connect()
  'Realizo la consulta [] buscando un articulo cuando la categoria es una determinada.
  Rs = ModConexion.$Con.Find("articulos", "categoria like '" & $categoria & "'")
  Rs.MoveFirst  'Muevo al primer registro
  WHILE contadorarticulos < Rs.Length 'Voy poniendo botones en su posicion
    WHILE contadorcol < 5 AND contadorarticulos < Rs.Length
      articulos[contadorarticulos] = NEW ToolButton($a) AS "btnarticulos"
      articulos[contadorarticulos].Border = TRUE
      articulos[contadorarticulos].name = "articulo" & contadorarticulos
      articulos[contadorarticulos].X = contadorposicionX
      articulos[contadorarticulos].Y = contadorposicionY
      articulos[contadorarticulos].Width = 100
      articulos[contadorarticulos].Height = 100
      articulos[contadorarticulos].Text = Rs!nombre
      contadorcol += 1
      contadorarticulos += 1
      contadorposicionX += 105
      Rs.MoveNext
    WEND
    contadorcol = 0
    contadorposicionX = 5
    contadorposicionY += 105
  WEND

  'cierro conexion
  ModConexion.$Con.Close
END


Y luego tengo el codigo del boton:

PUBLIC SUB btnarticulos_Click()
  Message.Warning("PRUEBA")
END


Pero así, pulse el botón que pulse, todos muestran el mismo message.warning.... hay alguna forma de diferenciarlos?? tengo tantos botones como artículos y estos se crean dinamicamente... He probado varias cosillas pero ninguna de ellas funcionó.

Gracias! como siempre!
 



 
CanihoJR - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Agregar Evento A Un Array De Botones Creados Por Codigo?? 
 
Eso está mal porque en ninguna parte estás añadiendo items al object[]. Estas áñadiendo el mismo botón 32 veces.

  dim F as object 'crear un objeto
  ...
  ...
 WHILE contadorarticulos < Rs.Length 'Voy poniendo botones en su posicion
   WHILE contadorcol < 5 AND contadorarticulos < Rs.Length
  
     F = NEW ToolButton($a) AS "btnarticulos" 'darle valor al objeto
     F.Border = TRUE
     F.name = "articulo" & contadorarticulos
     F.X = contadorposicionX
     F.Y = contadorposicionY
     F.Width = 100
     F.Height = 100
     F.Text = Rs!nombre
     articulos.add(F) 'añadir el objeto a artículos
     contadorcol += 1
     contadorarticulos += 1
     contadorposicionX += 105
     Rs.MoveNext
   WEND
   contadorcol = 0
   contadorposicionX = 5
   contadorposicionY += 105
 WEND


Te sobran algunos contadores. Creo que puedes poner ese bucle bastante mejor pero bueno ... esa es la idea.
 



 
última edición por soplo el Lunes, 11 Julio 2011, 22:52; editado 1 vez 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Posicion En Formulario De Objetos Creados ... pittusa General 1 Martes, 15 Febrero 2011, 20:17 Ver último mensaje
ahtonio
No hay nuevos mensajes Problemas Con Botones Y Etiquetas Generad@... desoljor Controles/Librerías/Componentes 5 Viernes, 18 Febrero 2011, 11:19 Ver último mensaje
desoljor
No hay nuevos mensajes Como Asocio Botones Creados Con Condigo A ... CanihoJR Controles/Librerías/Componentes 2 Viernes, 08 Julio 2011, 20:57 Ver último mensaje
CanihoJR
No hay nuevos mensajes Borrar Botones Creados Por Codigo? CanihoJR General 4 Jueves, 03 Noviembre 2011, 15:27 Ver último mensaje
CanihoJR
 

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
No puede descargar archivos
No puede publicar eventos en el calendario