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? >Es muy interesante el control del spinner, que esta hecho desde "cero". Este componente aparece en la versión de desarrollo (gambas3.5.90)
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.classo 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
Saludos