Хорошая статья для начинающих. Однако в более сложных интерфейсах этот подход уже неприемлем. Первое что бросается в глаза:
for(int i=0; i<BUTTON_COLUMNS; i++) { for(int j=0; j<BUTTON_ROWS; j++) { ... ... ...Т.е. в алгоритме зашита жесткая структура таблицы и данная конструкция встречается практически во всех функциях. А теперь представим, что по мимо кнопок, подокно содержит еще несколько графических элементов ни как не относящихся к таблице. Для них придется описывать свою модель позиционирования, а это не есть гуд. Модель позиционирования должна быть одна и универсальной, т.е. в данном случае, компоновка "таблица" должна быть частным случаем этой модели.
Хорошая статья для начинающих. Однако в более сложных интерфейсах этот подход уже неприемлем. Первое что бросается в глаза:
Т.е. в алгоритме зашита жесткая структура таблицы и данная конструкция встречается практически во всех функциях. А теперь представим, что по мимо кнопок, подокно содержит еще несколько графических элементов ни как не относящихся к таблице. Для них придется описывать свою модель позиционирования, а это не есть гуд. Модель позиционирования должна быть одна и универсальной, т.е. в данном случае, компоновка "таблица" должна быть частным случаем этой модели.Да, Вы правы. В следующий раз попробую придумать, что-нибудь более оригинальное. )
В данном случае, чтобы уйти от частного случая, достаточно использовать одномерный массив и один цикл.
...
Привык уже использовать OBJ_EDIT, так как он отображается в процессе визуализации в тестере.
В этом случае для примера можно было использовать любой объект. Это ведь творческий процесс. )

- www.mql5.com
А мне не понятно, зачем было использовать OBJ_EDIT.
Куда полезнее было бы "оживить" стандартные кнопки из библиотеки (чтоб они тоже под мышкой светились).
Т.е. вроде полезная статья, но вроде и не понятно - почему выбран именно такой путь.
ps: это я завидую плодотворности автора ;)
Куда полезнее было бы "оживить" стандартные кнопки из библиотеки (чтоб они тоже под мышкой светились).

- www.mql5.com
А кнопки вовсе и не кнопки).
А мне вот интересно, есть хоть один профессиональный разработчик, который бы использовал бы стандартную библиотеку графических элементов в своих продуктах?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Рецепты MQL5 - Элементы управления в подокне индикатора - Кнопки:
В этой статье мы рассмотрим пример разработки пользовательского интерфейса с такими элементами управления, как кнопки. В качестве подсказки пользователю о том, что с элементом можно взаимодействовать, сделаем так, чтобы кнопка при наведении на нее курсора мыши меняла цвет. При наведении курсора мыши на кнопку цвет будет немного затеняться, а при нажатии будет становиться заметно темнее. Добавим еще всплывающие подсказки для каждой кнопки. Таким образом, интерфейс станет интуитивно понятным.
Также в статье будут рассматриваться события: перемещение курсора мыши, состояние левой кнопки мыши, нажатие левой кнопкой мыши на объекте, а также событие, которое возникает при изменении свойств графика. Создадим кнопочную панель, которая занимает все пространство подокна индикатора. Для примера сделаем три ряда, в которых будет по четыре кнопки.
Автор: Anatoli Kazharski