Autor |
Mensaje |
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Como Generar Un Evento Creado Por Ti?
buenas,
estoy tratando de crear eventos en una clase pero no me sale...
esto es lo que he hecho....
lo que estoy tratando de hacer es....
por medio de un drawingarea detectar si el usuario hizo clic de la mitad de la altura de mas arriba o de mas abajo,
lanzando el evento arriba si es menor a la altura dividido 2 o abajo si es mayor a la altura dividido 2.
hasta el lanzamiento del evento voy bien, la cuestión es... como es la sintaxis para la rutina del evento y lo que se ejecutara cuando el raise lance el evento???
Descripción: |
|
Descargar |
Nombre del archivo: |
prueba1-0.0.1.tar.gz |
Tamaño: |
17.21 KB |
Descargado: |
74 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
prueba1-0.0.1.tar.gz |
Tamaño: |
17.21 KB |
Descargado: |
74 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
prueba1-0.0.1.tar.gz |
Tamaño: |
17.21 KB |
Descargado: |
74 veces |
=================== 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/
|
#1 Domingo, 03 Enero 2016, 15:16 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Como Generar Un Evento Creado Por Ti?
Hola v3ctor.
Bueno, hay mucho código sobrante. He eliminado lo sobrante para que veas como funciona.
Algo que te falta es el observador.
Por ejemplo supongamos que nuestra clase o componente (depende de lo que quieras hacer) va a heredar de DrawingArea.
El código de la clase Clic4 puede ser este:
Y el del formulario:
No me he preocupado de centrar el Drawingarea o dimensiones.
Te adjunto el código.
Descripción: |
|
Descargar |
Nombre del archivo: |
prueba2.tar.gz |
Tamaño: |
18.59 KB |
Descargado: |
64 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
prueba2.tar.gz |
Tamaño: |
18.59 KB |
Descargado: |
64 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
prueba2.tar.gz |
Tamaño: |
18.59 KB |
Descargado: |
64 veces |
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#2 Domingo, 03 Enero 2016, 19:41 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Como Generar Un Evento Creado Por Ti?
Shell
Me gusta tu ejemplo, lo añadiré al curso de gambas, ( con tu permiso claro=.
Yo tengo este ejemplo hecho:
http://cursogambas.blogspot.com.es/...do-eventos.html
pero el tuyo es mucho más simple y mejor para explicar la relación entre observador y evento.
|
#3 Domingo, 03 Enero 2016, 20:12 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Como Generar Un Evento Creado Por Ti?
estemmm.... bueno el permiso tendrías que pedírmelo a mi que fui el de la idea.
solo que no estaba correcto el código
pero si me haces la mención correspondiente en tu blog te doy el permiso
=================== 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/
|
#4 Lunes, 04 Enero 2016, 02:54 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Como Generar Un Evento Creado Por Ti?
Pues claro, es para vosotros y para todos los que lo necesiten.
Bueno, cada uno ha puesto su granito de arena.
Podíamos decir:
"Si no hay evento, no hay método".
Julio:
Si, recuerdo el ejemplo del pelotón. Tengo que repasarlo mejor. ¿ Crees que se puede mejorar ?.
Recuerdo que comentabas que tenías algún tipo de problema cuando lo hiciste. Creo que querías
crear mas de un observador o evento a la vez y solo te respondía uno.
A mí me gusta tu ejemplo del pelotón.
v3ctor:
Ya nos contaras como lo aplicaras en algún ejemplo.
¿ Habías usado alguna vez el UserControl ?.
Ahora podíamos probar a hacer lo mismo, pero sin herencia. A ver que sale.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Lunes, 04 Enero 2016, 10:07; editado 1 vez
|
#5 Lunes, 04 Enero 2016, 10:07 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Como Generar Un Evento Creado Por Ti?
Shell:
Citar:
Ahora podíamos probar a hacer lo mismo, pero sin herencia. A ver que sale.
No!!!!, al usar la herencia le da mucha potencia a la nueva clase Clic4, y a las sucesivas que hereden de ella.
|
#6 Lunes, 04 Enero 2016, 13:48 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Como Generar Un Evento Creado Por Ti?
|
#7 Martes, 05 Enero 2016, 20:01 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Como Generar Un Evento Creado Por Ti?
excelente julio, gracias
=================== 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/
|
#8 Miercoles, 06 Enero 2016, 00:47 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Como Generar Un Evento Creado Por Ti?
Julio:
Muy bien.
Si que se puede complicar con el segundo observador, hay que estar muy atento.
Puede no captarse a la primera. Que _Arriba y _Abajo tambien se pueda usar luego
en el formulario.
Se que el código es pequeño en los dos evento observador con el manejador "vigilo".
De esta forma es aun mas pequeño.
Public Sub vigilo_Arriba()
MostrarDirFlecha("arriba")
End
Public Sub vigilo_Abajo()
MostrarDirFlecha("abajo")
End
Public Sub MostrarDirFlecha(pos As String)
Dim frase As String
frase = Subst("Se ejecuta el código del evento &1, en el formulario ", pos)
Print frase
PictureBoxFlecha.Stretch = True ' para que se adapte el dibujo a las dimensiones del picturebox
PictureBoxFlecha.Picture = IIf(pos = "arriba", Picture["fechaArriba.png"], Picture["fechaAbajo.png"])
End
Estoy con otro ejemplo, pero es tan simple, que no sé si es adecuado añadir un evento o tan solo un método.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#9 Miercoles, 06 Enero 2016, 10:42 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Como Generar Un Evento Creado Por Ti?
Shell:
Lo bueno que tiene usar eventos, es que por lo siguiente:
Imagina que mañana añado otro formulario que haga algo cuando se produzca el evento _Arriba o _Abajo, ¡¡ no tengo que modificar nada de los anteriores clases ni formulario !!!, sino que solo con añadir un observador al nuevo formulario, me "entero" que pasa en el drawingarea.
|
#10 Miercoles, 06 Enero 2016, 11:29 |
|
|
|