Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

EasyAndFastGUI - библиотека для создания графических интерфейсов - библиотека для MetaTrader 5

Просмотров:
9571
Рейтинг:
(196)
Опубликован:
2018.01.18 10:59
Обновлен:
2022.09.27 19:17
\MQL5\Include\ \MQL5\Scripts\ \MQL5\Files\
MQL5.zip (455.7 KB)
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

EasyAndFastGUI v2.0

Вышла новая версия библиотеки EasyAndFastGUI для создания графических интерфейсов!

Эта библиотека содержит необходимый набор элементов, которые можно использовать при разработке MQL-приложений с графическим интерфейсом.

Во второй версии этой библиотеки добавлено множество улучшений, а также исправлены баги, которые начали возникать после изменений в языке MQL. Все статьи серии из списка ниже можно читать только в целях изучения языка MQL, так как в последней версии значительные изменения и отличия.


Что нового?

  1. Все изображения для элементов графического интерфейса оцифрованы и теперь папка с картинками не нужна. Вы можете скачать архив картинок из старой версии, если вам нужен пользовательский набор картинок для работы.
  2. Значительное улучшение в обработке потока событий. В прошлой версии возникала заметная задержка, если элементов было очень много. Теперь всё работает очень быстро при любом количестве элементов.
  3. Добавлена возможность изменять цветовую схему графического интерфейса. В этой версии есть возможность быстро переключаться в процессе работы уже готового MQL-приложения между светлой и тёмной темами.
  4. Интегрирован новый элемент (C3DBase) из стандартной библиотеки (CCanvas3D) для работы с трёхмерной графикой.
  5. Изменилась структура папок и файлов библиотеки. Теперь все файлы распределены по категориям. 
  6. Вторая версия поставляется с уже готовой к работе MT4-версией.
  7. Для всех элементов есть методы для быстрого создания. Практически все элементы с параметрами по умолчанию теперь можно создать всего лишь в одну строку кода.
  8. Кроме этого было внесено множество других изменений касающихся внутренненнего устройства и произведён дополнительный рефакторинг кода.
  9. Все комментарии в коде переведены на английский язык.
  10. С библиотекой поставляются готовые примеры графических интерфейсов, чтобы вам было проще всё изучить и быстрее приступить к работе.


Примеры графических интерфейсов 

На скриншотах ниже показаны примеры графических интерфейсов, которые созданы с помощью библиотеки EasyAndFastGUI v2.0:

Графический интерфейс EasyAndFastGUI v2.0 - Пример 1

Графический интерфейс EasyAndFastGUI v2.0 - Пример 1


Графический интерфейс EasyAndFastGUI v2.0 - Пример 2

Графический интерфейс EasyAndFastGUI v2.0 - Пример 2


Графический интерфейс EasyAndFastGUI v2.0 - Пример 3

Графический интерфейс EasyAndFastGUI v2.0 - Пример 3


Графический интерфейс EasyAndFastGUI v2.0 - Пример 4

Графический интерфейс EasyAndFastGUI v2.0 - Пример 4


Графический интерфейс EasyAndFastGUI v2.0 - Пример 5

Графический интерфейс EasyAndFastGUI v2.0 - Пример 5


Как загрузить библиотеку?

Первую версию библиотеки EasyAndFastGUI можно скачать по ссылкам выше в начале страницы. Последнюю версию (v2.0) можно загрузить в маркете в виде скрипта. Запустив скрипт на графике в терминале вы получите все файлы с исходным кодом и готовыми примерами MQL-приложений, которые показаны на скриншотах выше, в папку MQL5/Files/tol64

Все вопросы по использованию лучше задавать на форуме или на странице обсуждения в маркете, чтобы другие пользователи библиотеки могли тоже увидеть ответы на них. Для скорейшего решения проблемы лучше сразу приложить минимальный тестовый пример, на котором она воспроизводится.

Если Вам нужна помощь по созданию приложения с графическим интерфейсом, то Вы можете сделать персональный заказ автору библиотеки.


Структура папок и файлов

Файлы из стандартной библиотеки, в которые были внесены изменения добавлены в отдельную папку MQL5 (MQL4 для MT4-версии).

- Base
        - Element.mqh
        - ElementBase.mqh
        - Object.mqh
- Constant
        - Defines.mqh
        - Enums.mqh
        - KeyStrokes.mqh
- Controls
        - 3D
                - 3DBase.mqh
        - Buttons
                - Button.mqh
                - ButtonsGroup.mqh
                - CheckBox.mqh
                - ComboBox.mqh
                - SplitButton.mqh
        - Charts
                - Graph.mqh
                - StandardChart.mqh
        - ColorPicker
                - ColorButton.mqh
                - ColorPicker.mqh
        - Datetime
                - Calendar.mqh
                - DropCalendar.mqh
                - TimeEdit.mqh
        - Info
                - ProgressBar.mqh
                - StatusBar.mqh
                - TextLabel.mqh
                - Tooltip.mqh
        - InputFields
                - TextBox.mqh
                - TextEdit.mqh
        - Lists
                - ListView.mqh
                - Table.mqh
        - Menus
                - ContextMenu.mqh
                - MenuBar.mqh
                - MenuItem.mqh
        - Pictures
                - Picture.mqh
                - PicturesSlider.mqh
        - Sections
                - FileNavigator.mqh
                - Tabs.mqh
                - TreeItem.mqh
                - TreeView.mqh
        - Separators
                - Frame.mqh
                - SeparateLine.mqh
        - Sliders
                - Scrolls.mqh
                - Slider.mqh
        - Pointer.mqh
        - Window.mqh
- Core
        - Container
                - Include
                        - AddMethods.mqh
                - CoreContainer.mqh
        - Create
                - Include
                        - 3D
                                - 3DBase.mqh
                        - Buttons
                                - Button.mqh
                                - ButtonsGroup.mqh
                                - Checkbox.mqh
                                - Combobox.mqh
                                - RadioButtons.mqh
                                - SplitButton.mqh
                        - Charts
                                - Graph.mqh
                                - StandardChart.mqh
                        - ColorPicker
                                - ColorButton.mqh
                                - ColorPicker.mqh
                        - Datetime
                                - Calendar.mqh
                                - DropCalendar.mqh
                                - TimeEdit.mqh
                        - Info
                                - ProgressBar.mqh
                                - StatusBar.mqh
                                - TextLabel.mqh
                                - Tooltip.mqh
                        - InputFields
                                - SpinEdit.mqh
                                - TextBox.mqh
                                - TextEdit.mqh
                        - Lists
                                - ListView.mqh
                                - Table.mqh
                        - Menus
                                - ContextMenu.mqh
                                - MenuBar.mqh
                                - MenuItem.mqh
                        - Pictures
                                - Picture.mqh
                                - PictureSlider.mqh
                        - Sections
                                - FileNavigator.mqh
                                - Tabs.mqh
                                - TreeView.mqh
                        - Separators
                                - Frame.mqh
                                - SeparateLine.mqh
                        - Sliders
                                - DualSlider.mqh
                                - Slider.mqh
                        - Windows.mqh
                - CoreCreate.mqh
        - Events
                - Include
                        - ActivatedItems.mqh
                        - EventHandlers.mqh
                - CoreEvents.mqh
        - Common.mqh
        - Resources.mqh
        - Theme.mqh
- MQL5
        - Include
                - Graphics
                        - Axis.mqh
                        - ColorGenerator.mqh
                        - Curve.mqh
                        - Graphic.mqh
- Tools
        - SubWindow
                - SubWindow.mq5
        - Colors.mqh
        - Fonts.mqh
        - Keys.mqh
        - Mouse.mqh
        - TimeCounter.mqh


События библиотеки

При использовании библиотеки в своих проектах, кроме штатных событий графика вы можете обрабатывать также пользовательские события, которые определены в этой библиотеке. Ниже перечислены все значимые события, которые понадобятся вам в разработке своих приложений:

Событие Значение параметра id Значение параметра lparam Значение параметра dparam Значение параметра  sparam
Нажатие на текстовой метке ON_CLICK_LABEL  ID элемента  Текст элемента 
Нажатие на кнопке ON_CLICK_BUTTON ID элемента Индекс элемента. Здесь и далее, если -1, то элемент не является частью другого элемента. Имя объекта
Нажатие на пункте контекстного меню
ON_CLICK_CONTEXTMENU_ITEM ID элемента Индекс элемента Текст элемента
Нажатие на чекбоксе
ON_CLICK_CHECKBOX ID элемента - Текст элемента
Нажатие на кнопке в группе
ON_CLICK_GROUP_BUTTON ID элемента Индекс элемента Текст элемента
Нажатие на вкладке
ON_CLICK_TAB ID элемента Индекс элемента -
Нажатие на объекте-графике (OBJ_CHART)
ON_CLICK_SUB_CHART ID элемента Индекс элемента Название символа
Нажатие на кнопке инкремента
ON_CLICK_INC ID элемента - -
Нажатие на кнопке декремента
ON_CLICK_DEC ID элемента - -
Нажатие на пункте в списке
ON_CLICK_LIST_ITEM ID элемента - -
Нажатие на пункте выпадающего списка
ON_CLICK_DROP_LIST_ITEM ID элемента Индекс пункта в списке -
Нажатие на текстовом поле
ON_CLICK_TEXT_BOX ID элемента - -
Окончание ввода текста в поле ввода
ON_END_EDIT ID элемента - -
Открытие диалогового окна
ON_OPEN_DIALOG_BOX ID элемента - -
Закрытие диалогового окна
ON_CLOSE_DIALOG_BOX ID элемента - -
Изменение темы
ON_CHANGE_THEME - - -
Изменение даты в календаре
ON_CHANGE_DATE - - -
Изменение цвета
ON_CHANGE_COLOR - - -
Окончание сортировки таблицы ON_SORT_DATA ID элемента Индекс столбца Тип данных столбца: TYPE_STRING, TYPE_DOUBLE, TYPE_DATETIME
Окончание построения графического интерфейса ON_END_CREATE_GUI -  - -


Статьи

Авторский список статей относящихся к предыдущей версии библиотеки. Материал в этих статьях уже неактуален для последней версии библиотеки, но может быть полезен для изучения этой темы.


Часть I

Часть II

Часть III

Часть IV

Часть V

Часть VI

Часть VII

Часть VIII

Часть IX

Часть X

Часть XI


Авторские статьи, где демонстрируется использование этой библиотеки:


Список статей других авторов, которые использовали библиотеку:



LacusTstopandBE LacusTstopandBE

Советник-помощник в ручной торговле. Выставление Stop loss, Take profit, перевод в безубыток и трейлинг позиций.

SAR index based on MA SAR index based on MA

Индикатор SAR, рассчитываемый по значениям индикатора iMA (Moving Average, MA).

Расширенные фракталы Расширенные фракталы

Индикатор, в отличие от стандартного Fractals, позволяет искать и отображать на графике цены фракталы с заданной в настройках размерностью.

VR---ZVER v.2 VR---ZVER v.2

Развитие первой версии VR---ZVER. Добавлены трейлинг, отдельный флаг разрешения/запрета открытия BUY, отдельный флаг разрешения/запрета открытия SELL.