Discusión sobre el artículo "Guía práctica de MQL5: Controles de la subventana del indicador: Barra de desplazamiento"

 

Artículo publicado Guía práctica de MQL5: Controles de la subventana del indicador: Barra de desplazamiento:

Vamos a continuar explorando los diversos controles y esta vez nos centraremos en la barra de desplazamiento. Al igual que en el artículo anterior llamado "Guía práctica de MQL5: Controles de la subventana del indicador: Botones", todas las operaciones se llevarán a cabo en la subventana del indicador. Tome un momento para leer el artículo mencionado anteriormente, ya que proporciona una descripción detallada de la utilización de eventos en la función OnChartEvent() y se verá este punto muy por encima en este artículo. Con fines ilustrativos, esta vez vamos a crear una barra de desplazamiento vertical para una larga lista de todas las propiedades de los instrumentos financieros que se pueden obtener mediante los recursos de MQL5.

En los artículos anteriores sobre programación MQL5 hemos utilizado el objeto gráfico OBJ_LABEL (Etiqueta de texto) para crear las listas. En este artículo, vamos a utilizar un "canvas" o un lienzo para mostrar el texto. La conveniencia de este enfoque reside en que en lugar de un gran número de objetos OBJ_LABEL, solo se utilizará uno; OBJ_BITMAP_LABEL (Etiqueta Bitmap). Puede dibujar todos los elementos de la interfaz en un lienzo, pero esta vez nos limitaremos al texto solo.

La barra de desplazamiento será muy simple. Por lo general, tiene botones en forma de flechas, pero no va a ser así en nuestro caso. La barra de desplazamiento solo estará compuesta del fondo y del cuadro de desplazamiento. El cuadro de desplazamiento cambiará de color al pasar el cursor por encima de él. También cambiará de color al hacer clic sobre él, sugiriendo al usuario que el cuadro de desplazamiento está activado y se puede arrastrar. Para la creación de los objetos de desplazamiento, usaremos los objetos gráficos del tipo OBJ_RECTANGLE_LABEL (Etiqueta rectangular).

MQL5 Cookbook: Indicator Subwindow Controls - Scrollbar

Autor: Anatoli Kazharski

 
Recientemente he seguido todos los articulos de Anatoli y debo decir que es un gran programador. Además, comparte sus conocimientos con otros que son nuevos en el lenguaje de programación MT5, como yo, que creo que es un movimiento generoso. Espero que en el futuro Anatoli publique más artículos.
 

Anatoly, ¡gracias por tu trabajo y labor!

Tengo una pregunta, ¿hay algún ejemplo de uso de la clase CScroll de la biblioteca estándar Scrolls.mqh?

 
thejobber:

Anatoly, ¡gracias por tu trabajo y labor!

¿hay algún ejemplo de uso de la clase CScroll de la biblioteca estándar Scrolls.mqh?

Gracias.

No uso la librería estándar para desarrollar interfaces con controles.

 
thejobber:

Anatoly, ¡gracias por tu trabajo y labor!

una pregunta, ¿hay algún ejemplo de uso de la clase CScroll? de la biblioteca estándar Scrolls.mqh.

Hay un ejemplo en la entrega estándar


 
gracias, todavía estaba dando vueltas a este ejemplo.... No me di cuenta, yo era estúpido en una palabra ))
 
Tendré que rediseñar un poco la lógica de visualización... Yo estaba creando etiquetas, y su número no se sabía antes, yo estaba pensando en añadir un desplazamiento a la forma, ahora será aún más fácil, habrá un objeto CListView. me dio una buena idea ))
 
¿Puedo cambiar el color de un elemento individual en un CListView?
 

Hola

MetaQuotes:

Nuevo artículo MQL5 Cookbook: Indicator Subwindow Controls - Scrollbar ha sido publicado:

Autor: Anatoli Kazharski

Hola Anatoli Kazharski

Sin embargo el tema es muy viejo, pero quería darte las gracias por el gran y útil trabajo.

Necesitaba la barra de desplazamiento, pero sólo pude encontrarla usada en los ListViews, Pero aquí pude sacar las funciones de la barra de desplazamiento y usarlas.

Sólo me di cuenta de que sin embargo esta parte lógicamente siempre puede trabajar, pero puede no ser lo que quería escribir:

//+------------------------------------------------------------------+
//| Cambiar el color de la caja de desplazamiento cuando el cursor pasa por encima de ||.
//+------------------------------------------------------------------+
void ChangeScrollbarThumbColorOnHover(int x,int y)
  {
//--- Si el cursor está dentro del área de la caja de desplazamiento, haz el color más oscuro
   if(x>scrollbar_thumb_x1 && x<scrollbar_thumb_x2 && y>scrollbar_thumb_y1 && y<scrollbar_thumb_x2)

      SetScrollbarThumbColor(scrollbar_thumb_color_on_hover);
//--- Si el cursor está fuera de los límites de la caja de desplazamiento
   else
     {
      //--- Si se suelta el botón del ratón, establece el color estándar de la caja de desplazamiento
      if(!mouse_button_state)
         SetScrollbarThumbColor(scrollbar_thumb_color);
     }
  }

De nuevo, Gracias por el gran trabajo.