В этой статье рассмотрим пример разработки интерфейса в подокне индикатора с такими элементами управления, как кнопки. В качестве подсказки пользователю о том, что с элементом можно взаимодействовать, сделаем так, чтобы кнопка при наведении на неё курсора мыши меняла цвет. При наведении курсора мыши на кнопку цвет будет немного затеняться, а при нажатии будет становиться заметно темнее. Добавим ещё всплывающие подсказки для каждой кнопки. Таким образом интерфейс станет более интуитивно понятным.
Также будут рассматриваться события: перемещение курсора мыши, состояние левой кнопки мыши, нажатие левой кнопкой мыши на объекте и событие, которое возникает при изменении свойств графика. Создадим кнопочную панель, которая занимает всё пространство подокна индикатора. Для примера сделаем три ряда, в которых будет по четыре кнопки.
Для создания кнопок в MQL5 можно взять графические объекты различных типов. Это может быть OBJ_BUTTON (кнопка), OBJ_BITMAP (рисунок), OBJ_BITMAP_LABEL (графическая метка) или OBJ_EDIT (поле ввода).
В этой статье для создания кнопок будем использовать объект типа OBJ_EDIT. Для этого типа объекта есть возможность заблокировать активацию курсора для ввода текста. Также он удобен тем, что в нём можно задать отображаемый текст, а углы объекта этого типа можно настроить острыми оставив при этом рамку.