Shell   18-07-2022, 16:47
#1
Buenas!.

Cuando situamos un control nativo de Gambas sobre el formulario en modo diseño, podemos ampliar o reducir su tamaño,
pero no es un icono, es un "elemento" que reacciona cambiando su tamaño según ajustamos sus vértices con el ratón.
¿ Se comporta igual un control que hemos diseñado nosotros o tan solo es un icono  dentro de un marco ?.

Una cosa es el icono que aparece en la hoja de propiedades en la caja de los distintos grupos y otra cosa es el diseño que
lo representa al situarlo en el formulario. Si mi control es compuesto puede que no se muestre entero a la hora de ejecución.

Imaginar que mi control es un rectángulo de color azul, pues eso es precisamente lo que quiero ver en modo diseño,
un rectángulo que cambio el tamaño de sus lados al modificar los extremos del marco que lo contiene.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   18-07-2022, 18:00
#2
El dibujo en el IDE de los controles propios es un drawingarea con el icono de tu control dentro. Si tu control es similar a -o es extensión de- otro existente en los componentes de gb.qt5,gb.form y gb.form.mdi, puedes utilizar la constante _DrawWith para que el IDE use la imagen de ese control al dibujar el tuyo.
Por ejemplo, en el control gvColumnFixer que subí hace unos días tienes:
Public Const _Group As String = "View"
Public Const _Similar As String = "GridView"
Public Const _DrawWith As String = "GridView"

La constante _Group indica al IDE en qué pestaña debe ubicar el icono de tu control
La constante _Similar dice al IDE qué controles pueden sustituir al tuyo, y viceversa, en el submenú "Cambiar en..."
La constante _DrawWith, de la que hablamos ahora, le dice que lo dibuje en el formulario igual que dibuja a un GridView.

Como no hay ningún control existente que sea un cuadro azul, pues te pintará el recuadro de un drawingArea y tu cuadro azul en la esquina superior izquierda.

Saludos
Última modificación: 18-07-2022, 18:01 por Shordi.

No podemos regresar
Shell   20-07-2022, 14:52
#3
(18-07-2022, 18:00)Shordi escribió: El dibujo en el IDE de los controles propios es un drawingarea con el icono de tu control dentro

Eso es.
 
(18-07-2022, 18:00)Shordi escribió: Si tu control es similar a -o es extensión de- otro existente en los componentes de gb.qt5,gb.form y gb.form.mdi, puedes utilizar la constante _DrawWith para que el IDE use la imagen de ese control al dibujar el tuyo.

No, ten en cuenta que es un control mixto.
(18-07-2022, 18:00)Shordi escribió: La constante _DrawWith, de la que hablamos ahora, le dice que lo dibuje en el formulario igual que dibuja a un GridView.

Las otras dos las aprendí de tu vídeo tutorial, pero esa no. ¿ Donde ves esas constantes "tan inteeeeresaaantes" ?. Wink
( ¿ En el código fuente de Gambas3 ?)
 
(18-07-2022, 18:00)Shordi escribió: Como no hay ningún control existente que sea un cuadro azul, pues te pintará el recuadro de un drawingArea y tu cuadro azul en la esquina superior izquierda.

No fue exactamente un recuadro azul, pero...


[Imagen: 3lO7iM2.png]

Lo del alrededor es un tamaño que usé para probar. Quería que el control fuese más grande o más pequeño.
El único inconveniente es que cuando es más pequeño se come la presentación del control. Me hubiese gustado
que ocupase los límites del drawingarea. En parte es como ir a ciegas.

Oye, algo que no comentabas en el vídeo tutorial es que existe en propiedades del proyecto, tipo que le dice lo que es,
normal, control, librería..etc. Eso hay que ponerlo por narices supongo.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   20-07-2022, 19:02
#4
Cita:Las otras dos las aprendí de tu vídeo tutorial, pero esa no. ¿ Donde ves esas constantes "tan inteeeeresaaantes" ?. Wink
( ¿ En el código fuente de Gambas3 ?)
No, de la documentación de Gambas3. 
https://gambaswiki.org/wiki/dev/gambas#t5
Cita:Oye, algo que no comentabas en el vídeo tutorial es que existe en propiedades del proyecto, tipo que le dice lo que es,
normal, control, librería..etc. Eso hay que ponerlo por narices supongo.
No. No confundas hacer una clase (eso ya lo controlas) con hacer un control (que es en lo que estamos) con crear un componente, para lo cual sí es necesario esto que comentas. Cuando agrupas un/os control/es y/o clase/s (coño, parece lenguaje inclusivo), en un proyecto y después creas el paquete .deb del mismo y lo instalas en tu (o en otros) ordenador/es, te aparecerá en la lista de componentes de gambas, como puede ser gb.gui.qt o gb.db, o gb.form y añadiéndolo a un proyecto tuyo, dispondrás de los controles que contenga sin tener que hacer nada de nada.

En los videotutoriales lo tienes aquí en el vídeo titulado "dbSqlTree 2. Instalando el control como un componente de nuestro Gambas": https://youtu.be/eCr5EOy6nxM?t=216 (El enlace te lleva al minuto 3:36 del vídeo donde se toca el tema).

Saludos

No podemos regresar
Shell   21-07-2022, 10:06
#5
(20-07-2022, 19:02)Shordi escribió:
Cita:Las otras dos las aprendí de tu vídeo tutorial, pero esa no. ¿ Donde ves esas constantes "tan inteeeeresaaantes" ?. Wink
( ¿ En el código fuente de Gambas3 ?)
No, de la documentación de Gambas3. 
https://gambaswiki.org/wiki/dev/gambas#t5

No había mirado el tema de construcción de controles en la documentación. Pero es teoría, resumen.
En la practica, directamente sobre el código fuente del propio gambas se aprende bastante.
 
(20-07-2022, 19:02)Shordi escribió: No. No confundas hacer una clase (eso ya lo controlas) con hacer un control (que es en lo que estamos) con crear un componente, para lo cual sí es necesario esto que comentas. Cuando agrupas un/os control/es y/o clase/s (coño, parece lenguaje inclusivo), en un proyecto y después creas el paquete .deb del mismo y lo instalas en tu (o en otros) ordenador/es, te aparecerá en la lista de componentes de gambas, como puede ser gb.gui.qt o gb.db, o gb.form y añadiéndolo a un proyecto tuyo, dispondrás de los controles que contenga sin tener que hacer nada de nada.

Si, control es una cosa y componente es otra. Por ahora me conformo con un control..claro que ademas del usercontrol existe el usercontainer.
 
(18-07-2022, 18:00)Shordi escribió: Public Const _DrawWith As String = "GridView"

Esto a veces es un poco complejo, ya que en controles como el buttonbox y similares se usa una caja de texto, si mal no recuerdo.
Hay más que usan el dibujar como caja de texto.

Hay otro que es el switch button, que es un slider con dos posiciones y en el código fuente se ve todo el diseño del drawingarea.

Pues llegué a pensar que Gambas usaba la extensión .svg para ampliar y reducir el diseño del control sobre el formulario.
 
(20-07-2022, 19:02)Shordi escribió: En los videotutoriales lo tienes aquí en el vídeo titulado "dbSqlTree 2. Instalando el control como un componente de nuestro Gambas": https://youtu.be/eCr5EOy6nxM?t=216 (El enlace te lleva al minuto 3:36 del vídeo donde se toca el tema).

Gracias!.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 4 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.