Discusión sobre el artículo "Estudiamos la clase CCanvas. Implementación de la transparencia de los objetos gráficos" - página 2

 
denkir:

La pregunta es la siguiente. ¿Cuál podría ser la mejor implementación para mover el kanvas por el gráfico? Algo así como el método

"canvas" - crea OBJ_BITMAP_LABEL o OBJ_BITMAP estándar . En la ayuda hay funciones sobre cómo colocarlos en el gráfico

 //+------------------------------------------------------------------+
//|| Mueve el objeto "Etiqueta Gráfica" ||
//+------------------------------------------------------------------+
bool BitmapLabelMove(const long   chart_ID=0,      // ID del gráfico
                     const string name="BmpLabel", // nombre de la etiqueta
                     const int    x=0,             // Coordenada del eje X
                     const int    y=0)             // Coordenada del eje Y
  {
//--- restablecer el valor de error
   ResetLastError();
//--- mover el objeto
   if(!ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x))
     {
      Print(__FUNCTION__,
            "Error al mover la coordenada X del objeto. Código de error = ",GetLastError());
      return(false);
     }
   if(!ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y))
     {
      Print(__FUNCTION__,
            "Error al mover la coordenada Y del objeto. Código de error = ",GetLastError());
      return(false);
     }
//--- ejecución con éxito
   return(true);
  }

No me di cuenta de la discusión anterior a la vez :) - en realidad el mismo que ZORDER, sólo X e Y

 
MigVRN:

"canvas" - crea OBJ_BITMAP_LABEL u OBJ_BITMAP estándar . Hay funciones en la ayuda para colocarlos en el gráfico

No me di cuenta de la discusión anterior a la vez :) - en realidad el mismo que ZORDER, sólo X e Y

Aha, gracias, funcionó... Intenté usar ObjectMove yo mismo...

Estoy creando un panel usando kanvas.... Necesito moverlo lo más lejos posible en el gráfico....
 
denkir:

Sí, gracias, funcionó... Intenté usar ObjectMove yo mismo...

Estoy creando un panel con la ayuda de kanvas... Necesito moverlo lo más lejos posible en el gráfico...
¿Y si el panel se crea en base a un diálogo estándar? Entonces todos los elementos creados en el diálogo y añadidos a él serán arrastrados junto con el diálogo.
 
barabashkakvn:
¿Y si el panel se crea a partir de un diálogo estándar? Entonces todos los elementos creados en el diálogo y añadidos a él se arrastrarán junto con el diálogo.
Sí, es una función muy útil, estoy de acuerdo... Lo he estado haciendo hasta ahora... pero hay una pregunta cómo añadir gráficos personalizados al panel.... en general es necesario hacer un control tipo kanvas : public CWndObj. Ahora estoy pensando en esta pregunta ...
 
denkir:
Sí, una característica útil, estoy de acuerdo..... He estado haciendo eso hasta ahora ... pero había una pregunta cómo añadir gráficos personalizados al panel.... en general es necesario hacer un control tipo kanvas : public CWndObj. Ahora estoy pensando en esta pregunta ...

Mira el video del post.

Después de 15 de marzo estará en el código fuente

 
denkir:
Sí, una característica útil, estoy de acuerdo..... He estado haciendo eso hasta ahora ... pero había una pregunta cómo añadir gráficos personalizados al panel.... en general es necesario hacer un control tipo kanvas : public CWndObj. Ahora estoy pensando en esta pregunta ...

¿Qué quieres decir con"gráficos personalizados":

  • Quiero decir ¿es algo que dibujas como programador?
  • Quiero decir que toma una imagen del usuario del programa y esta imagen debe mostrarse en el lienzo?
 
barabashkakvn:

¿Qué quieres decir con "gráficos personalizados".

  • ¿es algo que dibujas como programador?
  • Es decir, ¿toma una imagen del usuario del programa y esta imagen debe mostrarse en el lienzo?
Sí, yo era vague..... Me refería a la capacidad de crear dinámicamente diferentes figuras por medio de métodos de la clase CCanvas...
 

Vladimir, quería preguntarte otra cosa.

Hay un panel de tipo CAppDialog. Que uno de sus elementos sea una etiqueta gráfica de tipo CBmpButton. Entonces, ¿hay alguna manera de crear un lienzo y vincularlo con la etiqueta especificada? El objetivo es tener un elemento de panel controlable con capacidades gráficas personalizadas...?

Gracias.

 
denkir:

Vladimir, quería preguntarte otra cosa.

Hay un panel de tipo CAppDialog. Que uno de sus elementos sea una etiqueta gráfica de tipo CBmpButton. Entonces, ¿hay alguna manera de crear un lienzo y vincularlo con la etiqueta especificada? El objetivo es tener un elemento de panel controlable con capacidades gráficas personalizadas...?

Gracias...

Puedes crear lienzos (es decir, múltiples lienzos) sin vincularlos a un objeto gráfico a través del método Create, y luego asignar estos recursos al BmpButton. Incluso puedes intentar hacer animaciones. Por cierto, quiero pensar en la animación durante mucho tiempo.
 

Vladimir, gracias por el consejo, ¡todo ha salido bien!

Sí, los lienzos son muy potentes :-)

¡Esperamos tus interesantes artículos!