Discusión sobre el artículo "Cómo crear un panel gráfico de cualquier nivel de complejidad" - página 11

 
Vladimir Karputov:

Es necesario que todos los elementos del panel se redibujen - de esta forma ocuparán la posición "superior".

Ya veo, ¡gracias! ¿Tiene la clase CAppDialog un método incorporado para redibujar todos los elementos? Si no, ¿sería correcto implementarlo en una clase sucesora?

void CControlsDialog::Redraw(void)
  {
   this.Visible(false);
   this.Visible(true);
  }

En la práctica funciona, lo he comprobado.

 
Janis Ozols:

Ya veo, gracias. ¿Tiene la clase CAppDialog un método incorporado para redibujar todos los elementos? Si no es así, ¿sería correcto implementarlo en una clase sucesora?

En la práctica funciona, lo he comprobado.

Puede haber otras variantes - pero debería funcionar, porque el panel oculto debería ser redibujado de nuevo - por lo que todos sus elementos estarán en la parte superior.

 
Janis Ozols:

Ya veo, gracias. ¿Tiene la clase CAppDialog un método incorporado para redibujar todos los elementos? Si no es así, ¿sería correcto implementarlo en una clase sucesora?

En la práctica funciona, lo he comprobado.

Que yo recuerde, el método Run() redibuja el gráfico.
 
Vasiliy Pushkaryov:
Que yo recuerde, el método Run() redibuja el gráfico.

Sí, redibuja el gráfico. Gracias, lo probaré.

bool CAppDialog::Run(void)
  {
//--- redibujar el gráfico para invalidar el diálogo
   m_chart.Redraw();
//--- aquí empezamos a asignar IDs a los controles
   if(Id(m_subwin*CONTROLS_MAXIMUM_ID)>CONTROLS_MAXIMUM_ID)
     {
      Print("CAppDialog: too many objects");
      return(false);
     }
//--- tener éxito
   return(true);
  }

UPD: Lo he probado. Por desgracia, no funcionó. Aparentemente, este método redibuja el gráfico en sí, pero no el panel.
 

Hola a todos

En primer lugar, gracias por Vladimir Karputov para compartir este artículo.

Soy nuevo en el diseño de mi panel para un principiante.

Quiero confirmar que es posible desacoplar este panel como gráfico.

Si es así, ¿dónde puedo encontrar el método? gracias.

Vladimir Karputov
Vladimir Karputov
  • 2021.09.01
  • www.mql5.com
Trader's profile
 
Quan tum # :

***

Quiero confirmar si es posible desacoplar este panel como gráfico.

Si es así, ¿dónde puedo encontrar el método? gracias.

No entiendo.

 
Vladimir Karputov #:

No lo entiendo.

En MT5 podemos pulsar el botón derecho del ratón sobre el gráfico y veremos el "docked". (en archivo adjunto)

Si lo pulsamos, la ventana del gráfico quedará fuera de la plataforma independiente. Eso significa desacoplado.

Por lo tanto, quiero confirmar que es el panel también puede hacer esto independiente de la carta? Gracias.

Archivos adjuntos:
 
Quan tum # :

En MT5 podemos pulsar el botón derecho del ratón sobre el gráfico y veremos el "acoplado". (en archivo adjunto)

Si lo pulsamos, la ventana del gráfico quedará fuera de la plataforma independiente. Eso significa desacoplado.

Por lo tanto, quiero confirmar que es el panel también puede hacer esto independiente de la carta? Gracias.

Usted mismo respondió a su propia pregunta: Usted mismo elige el menú PARA LA VENTANA DEL GRÁFICO ACTUAL. ¿Qué tiene que ver el panel?

 
Vladimir Karputov #:

Tú mismo has respondido a tu propia pregunta: Tú mismo eliges el menú PARA LA VENTANA DEL GRÁFICO ACTUAL. ¿Qué tiene que ver el panel?

Lo siento, tal vez me dejé entender mal.
Me refiero a si es posible desacoplar el panel fuera del gráfico.
 
Quan tum # :
Lo siento, tal vez me equivoque.
Me refiero a si es posible desacoplar el panel fuera de la carta.

Está prohibido. El panel está vinculado a la carta.