Обсуждение статьи "Рецепты MQL5 - Элементы управления в подокне индикатора - Полоса прокрутки"

 

Опубликована статья Рецепты MQL5 - Элементы управления в подокне индикатора - Полоса прокрутки:

Продолжим изучение элементов управления и на этот раз рассмотрим полосу прокрутки (scrollbar). Так же, как и в предыдущей статье "Рецепты MQL5 - Элементы управления в подокне индикатора - Кнопки", будем работать в подокне индикатора. Упомянутую статью необходимо изучить, так как в ней подробно изложена работа с событиями в функции OnChartEvent(), а здесь о них будет только поверхностное упоминание. В этой статье в качестве примера мы создадим вертикальную полосу прокрутки для большого списка всех показателей финансового инструмента, которые возможно получить средствами MQL5.

В предыдущих статьях по программированию на MQL5 для построения списков мы использовали графический объект OBJ_LABEL (текстовая метка). Но на этот раз будем использовать "холст" ("канву" или canvas, кому как удобнее) для отображения текста на нем. Удобство такого подхода заключается в том, что вместо множества объектов OBJ_LABEL будет использоваться только один - OBJ_BITMAP_LABEL (графическая метка). На холсте можно рисовать любые элементы интерфейса, но в этот раз мы ограничимся только выводом текста.

Полосу прокрутки сделаем максимально простой. Обычно к ней приделывают кнопки со стрелками, но здесь они будут исключены. Прокрутка будет состоять только из фона и ползунка (scroll box или thumb). Ползунок при наведении на него курсора мыши будет менять свой цвет. При нажатии мышью на ползунке цвет также будет меняться, давая пользователю понять, что захват произведен, и ползунок можно перетаскивать. Для создания элементов скроллинга будем использовать графические объекты типа OBJ_RECTANGLE_LABEL (прямоугольная метка).

Рецепты MQL5 - Элементы управления в подокне индикатора - Полоса прокрутки (scrollbar)

Автор: Anatoli Kazharski

 

Анатолий, спасибо за Вашу работу и труд!

такой вопрос, есть ли какой-нибудь пример по использованию класса CScroll? из стандартной библиотеки Scrolls.mqh

 
thejobber:

Анатолий, спасибо за Вашу работу и труд!

такой вопрос, есть ли какой-нибудь пример по использованию класса CScroll? из стандартной библиотеки Scrolls.mqh

Спасибо.

Я не использую стандартную библиотеку для разработки интерфейсов с элементами управления.

 
thejobber:

Анатолий, спасибо за Вашу работу и труд!

такой вопрос, есть ли какой-нибудь пример по использованию класса CScroll? из стандартной библиотеки Scrolls.mqh

Есть пример в стандартной поставке


 
спасибо, ещё крутил этот пример... не заметил, тупанул одним словом ))
 
немного прийдётся переделать логику визуализации... я создавал label, и их количество за ранее не было извесно, думал к форме прикрутить скрол, теперь будет ещё проще, будет один объект CListView. натолкнули меня на хорошую мысль ))
 
в CListView у отдельного item'a можно цвет менять?
Причина обращения: