Realización de un proyecto crowdsourced en Canvas - página 2

 
Zorro:
Sobre el tema de usar kanvas como UI.

Yo diría que es una belleza).

Estoy muy contento con la velocidad. todo es bastante adecuado en términos de tiempo de renderizado y control.

 
Gracias.

Ocultación de GIF y PNG
Archivos adjuntos:
ZoGIF.mqh  2 kb
ZoPNG.mqh  2 kb
 

De acuerdo.

Como ya eres un experto en la práctica de crear controles en kanvas,

¿por qué no describe sus clases base y su modelo general de eventos?

----

Podemos partir de su base y luego añadir más controles
- botón
- campo de entrada
- deslizador
- lista desplegable (ya en su archivo)
- selección de tiempo (ya en su archivo)


 
Las especificaciones deben ponerse entre comillas :)

Ahora mismo estoy muy ocupado con el trabajo principal, en cuanto esté libre haré el esquema completo, no será antes del 25.07.2016.

En términos generales:

Objeto básico CFrame - objeto abstracto en el lienzo, tiene x,y, anchura, altura y un conjunto de métodos virtuales para el manejo de eventos (OnMouse..., OnNotify, OnPaint), puede contener otros objetos CFrame.

CWindow es un descendiente de CFrame, que implementa un lienzo y es un objeto gráfico en un gráfico, recibe y maneja eventos externos (OnChartEvent), distribuyéndolo a los objetos (child) que residen en él.
Todos los objetos de la interfaz gráfica de usuario se generan a partir de CFrame, complementándolo con los métodos necesarios

El proyecto P&F Chart no tiene un controlador de eventos global, es necesario para aplicaciones con 2 o más ventanas (léase kanvas).
Es el que debe distribuir los eventos a las ventanas y supervisar la captura de una instancia (teclado + ratón) por los controles de la GUI.

 
El problema con el campo de entrada es que no hay una buena idea de cómo utilizar lo que está disponible.

En mi opinión, ahora mismo sólo se puede hacer un EDIT completo si se dibuja el propio teclado GUI, pero sería difícil soportar los idiomas, y es incómodo escribir con el ratón...
 
Renat Fatkhullin:
Por cierto, en el MetaEditor puedes iniciar proyectos, invitar a otros participantes, darles derechos y trabajar juntos en el proyecto.

¿Se refiere a MQL5 Storage?

Renat, ¿podría decirme con más detalle dónde leer sobre este mecanismo?

He estado utilizando el Staorage MQL5 desde su lanzamiento, pero no he encontrado la opción de acceso a grupos allí.

 
Haga clic con el botón derecho del ratón en el proyecto, seleccione "Añadir derechos de acceso" en el menú, he utilizado esto en uno de mis proyectos hermanos, es bastante práctico - todo está al alcance de su mano...
 

BIEN.

el CFrame está claro.

---

Me he dado cuenta de que has seguido el camino en el que los bloques de la guía están representados cada uno por su propio mapa de bits.

un punto importante para aquellos que lean esto y que ya hayan empezado a pensar en ello:
El trabajo debe hacerse sólo en un mapa de bits, con todos los elementos del gui renderizados en él. Teniendo en cuenta el orden z.
En este caso, habrá más posibilidades de renderización. (sombras, degradados, etc.).
Y el control se simplifica (no llegaremos al nivel de los objetos MT)

 
Zorro:
El problema con el campo de entrada es que no hay una buena idea de cómo utilizar lo que está disponible.

En mi opinión, ahora mismo sólo se puede hacer un EDIT completo si se dibuja el propio teclado GUI, pero sería difícil soportar los idiomas, y es incómodo escribir con el ratón...
hmm, ¿cuál es el problema con la edición?
 
Yuriy Zaytsev:

¿Se refiere a MQL5 Storage?

Renat, ¿podría decirme con más detalle dónde leer sobre este mecanismo?

He estado usando el Staorage MQL5 desde su lanzamiento, pero no he encontrado la opción de acceso compartido allí.

Proyectos - MetaEditor
MetaEditor Projects permite a los programadores desarrollar a distancia aplicaciones en MQL4/MQL5. Los proyectos se ejecutan específicamente con este fin. Los proyectos se implementan a través de MQL5 Storage. En consecuencia, el usuario debe tener una cuenta válida en MQL5.community, así como en MQL5 Storage. Trabajar con proyectos tiene todas las ventajas del MQL5 Storage: almacenamiento seguro de los códigos fuente. En caso de fallo del disco duro, la copia local de los códigos puede recuperarse rápidamente del almacén. Acceso al almacenamiento desde cualquier ordenador. Puedes entrar en el MetaEditor con tu cuenta MQL5.community y acceder al proyecto desde cualquier PC. El acceso a cada proyecto lo establece únicamente un autor del proyecto (un usuario que lo ha creado). Nadie puede acceder a un proyecto sin el permiso del autor. La carpeta de proyectos en MQL4 o MQL5 está destinada a proyectos compartidos. En el Navegador es...

Ayuda de MetaTrader 5 | 2015.12.02 10:22

Y, en general, hay que probar el trabajo conjunto con los proyectos: creo que habrá preguntas.

Razón de la queja: