Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



lunes, 8 de septiembre de 2014

Hacer controles en Gambas3

Leyendo la listas de gambas de desarrollo, me he encontrado esta interesante hilo ( enlace ) sobre como hacer controles y los diferentes niveles de dificultad en hacerlos:

On Sun, 07 Sep 2014, John Leake wrote:
> Hi All,
> I am struggling to understand how to create  a new control. 
> 
> Please forgive me, I have read the help on this but I am none the wiser.
> 
> As a test I just want to create a control that behaves like a
> ToggleButton but changes colour each time it is clicked.
> 
> Could anyone help me get started ?
> 

Hui, I don't know how simple you think this is but depending on from where
you want to start, it can require quite some code (involving drawing every
part of your control if you want to write it from scratch). Of course, you
can, on the other side, start with a ToggleButton and add just the colour
plays to it which would require significantly less code. It depends on how
much control you need to have.

There are different approaches (hard ~ more control):
 - inherit ToggleButton [0] (easy),
 - inherit UserControl [1] (harder, chosen often in Gambas sources),
 - create a Form and put your things together [2] (less applicable here but
   useful to remember when you want to create compound controls) (also
   easy).

You may also want to integrate the control into the IDE's Form editor [3].

I tried to put example classes together for the above approaches but you are
way better off subscribing to the gambas-user mailing list (you are still on
gambas-devel here which is for discussion about contributions to Gambas, not
questions about programming in it). Some people there have done this sort of
thing way more often than me. See the SF info page [4].

Regards,
Tobi

General advice: if you have a slight idea already of what to search for, it
is a very good idea to look at the Gambas source code. Lots of things you
use as a Gambas programmer are implemented in Gambas itself.

[0] http://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/comp/src/gb.form/.src/MessageLabel.class
    or have a look at
    http://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/comp/src/gb.form/.src/TagBox/TagComboBox.class
    for an example of a very lazy coder :-)

[1] http://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/comp/src/gb.form/.src/Spinner.class
    This is actually a pretty good example!

[2] http://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/comp/src/gb.form/.src/FInputBox.class
    Plus the other *InputBox.{form,class} files in that directory.

[3] http://gambaswiki.org/wiki/dev/gambas

[4] https://lists.sourceforge.net/lists/listinfo/gambas-user


La traducción seria:
En Sun, 07 Sep 2014, John Leake escribió: > Hola a todos, > Estoy luchando para entender cómo crear un nuevo control. > Por favor, perdóname, he leído la ayuda en esto, pero estoy sin enterarse. > Como una prueba Sólo quiero crear un control que se comporta como un > ToggleButton pero cambia de color cada vez que se hace clic. > ¿Podría alguien ayudarme a empezar? 
Hui, no sé cómo es simple usted piensa que esto es pero dependiendo de donde desea iniciar, puede requerir bastante código (que implica la elaboración de cada parte de su control si usted quiere escribir desde cero). Por supuesto, puede, por otro lado, comenzar con un ToggleButton y añadir sólo el color juega a lo que requeriría mucho menos código. Depende de cómo cantidad de control que necesita tener. 
Hay diferentes enfoques (duro ~ más de control):   - Heredar ToggleButton [0] (Fácil),   - Heredan UserControl [1] (más duro, elegida a menudo en fuentes Gambas),   - Crear un formulario y poner tus cosas [2] (menos aplicable aquí, pero     útil recordar cuando se quiere crear controles compuestos) (también     fácil). 
Usted también puede querer integrar el control en editor de formularios del IDE [3]. 
Traté de poner ejemplos de clases juntos por los enfoques anteriores, pero tú eres manera mejor de suscribirse a la lista de correo gambas-usuario (usted todavía está en gambas-devel aquí, que es para la discusión sobre las contribuciones a Gambas, no preguntas acerca de la programación en el mismo). Algunas personas allí han hecho este tipo de cosa mucho más a menudo que yo. Consulte la página de información SF [4]. 
Saludos, Tobi 
Consejo general: si tiene una ligera idea de lo que ya a buscar, que es una muy buena idea para buscar en el código fuente de Gambas. Un montón de cosas que usted utilizar como programador Gambas se implementan en sí mismo Gambas. 

[0] http://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/comp/src/gb.form/.src/MessageLabel.class
     o echar un vistazo a      http://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/comp/src/gb.form/.src/TagBox/TagComboBox.class
     para un ejemplo de un codificador muy perezoso:-) 
[1] http://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/comp/src/gb.form/.src/Spinner.class
     Esto es realmente un muy buen ejemplo! 
[2] http://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/comp/src/gb.form/.src/FInputBox.class
     Más los otros * InputBox. {Forma, clase} archivos de ese directorio. 
[3] http://gambaswiki.org/wiki/dev/gambas 
[4] https://lists.sourceforge.net/lists/listinfo/gambas usuario
Es muy interesante el control del spinner, que esta hecho desde "cero". Este componente aparece en la versión de desarrollo (gambas3.5.90)


Saludos