A new version of the EasyAndFastGUI v2.0 library for creating graphical interfaces has been released!
This library contains the necessary set of elements that can be used when developing MQL-applications with a graphical interface.
In the second version of this library, many improvements have been added, and bugs have been fixed that began to appear after changes in the MQL language. All articles in the series from the list below can be read only for the purpose of learning the MQL language, since the latest version has significant changes and differences.
The screenshots below show examples of graphical interfaces for study with all the elements that come with the second version of the EasyAndFastGUI v2.0 library.

EasyAndFastGUI v2.0 GUI - Example 1

EasyAndFastGUI v2.0 GUI - Example 2

EasyAndFastGUI v2.0 GUI - Example 3

EasyAndFastGUI v2.0 GUI - Example 4

EasyAndFastGUI v2.0 GUI - Example 5
The first version of the EasyAndFastGUI library can be downloaded from the links above at the top of the page. The latest version (v2.0) can be downloaded from the market as a script. By running the script on the chart in the terminal, you will receive all the files with the source code and ready-made examples shown in the screenshots above to the MQL5/Files/tol64 folder.
It is better to ask all questions about usage on the forum or on the discussion page in the market, so that other users of the library can also see the answers to them. To solve the problem as soon as possible, it is better to immediately attach a test case on which it is reproduced.
If you need help creating an application with a graphical interface, you can contact me.
Changed files from the standard library are added to a separate MQL5 folder (MQL4 for MT4 version).
- 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
When using the library in your projects, in addition to regular chart events, you can also process user events that are defined in this library. Listed below are all the significant events that you will need to develop your applications:
| Event | ID parameter value | Value of parameter lparam | Value of parameter dparam | Value of parameter sparam |
|---|---|---|---|---|
| Clicking on a text label | ON_CLICK_LABEL | Element ID | - | Element text |
| Clicking on a button | ON_CLICK_BUTTON | Element ID | The index of the element. Here and below, if -1, then the element is not part of another element. | Object name |
| Clicking on a context menu item | ON_CLICK_CONTEXTMENU_ITEM | Element ID | Element index | Element text |
| Clicking on a checkbox | ON_CLICK_CHECKBOX | Element ID | - | Element text |
| Clicking on a button in a group | ON_CLICK_GROUP_BUTTON | Element ID | Element index | Element text |
| Clicking on a tab | ON_CLICK_TAB | Element ID | Element index | - |
| Clicking on a graphic object (OBJ_CHART) | ON_CLICK_SUB_CHART | Element ID | Element index | Symbol name |
| Clicking on a increment button | ON_CLICK_INC | Element ID | - | - |
| Clicking on a decrement button | ON_CLICK_DEC | Element ID | - | - |
| Clicking on an item in the list | ON_CLICK_LIST_ITEM | Element ID | - | - |
| Clicking on a drop down list item | ON_CLICK_DROP_LIST_ITEM | Element ID | Item index in the list | - |
| Clicking on a text field | ON_CLICK_TEXT_BOX | Element ID | - | - |
| Ending text entry in an input field | ON_END_EDIT | Element ID | - | - |
| Opening a dialog box | ON_OPEN_DIALOG_BOX | Element ID | - | - |
| Closing a dialog box | ON_CLOSE_DIALOG_BOX | Element ID | - | - |
| Changing the theme | ON_CHANGE_THEME | - | - | - |
| Changing the date on the calendar | ON_CHANGE_DATE | - | - | - |
| Color change | ON_CHANGE_COLOR | - | - | - |
| End sort table | ON_SORT_DATA | Element ID | Column index | Column data type: TYPE_STRING, TYPE_DOUBLE, TYPE_DATETIME |
| Finish building the graphical interface | ON_END_CREATE_GUI | - | - | - |
Author's list of articles related to the previous version of the library. The material in these articles is no longer relevant for the latest version of the library, but may be useful for learning about this topic.
Part I
Part II
Part III
Part IV
Part V
Part VI
Part VII
Part VIII
Part IX
Part X
Part XI
Author's articles demonstrating the use of this library:
List of articles by other authors who used the library:
Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/19703
VR Orders History MT5 Lite
VR Orders History MT5 Lite - a script for downloading trading history in the CSV format.
Exp_ColorJJRSX_Tm_Plus
A trading system based on ColorJJRSX indicator signals with the possibility to set a fixed position holding time.
CCI Color Levels
Modified iCCI (Commodity Channel Index, CCI) - color highlighting of zones above the UP level and below the DOWN level.
ZigZagEvgeTrofi ver. 1
A trading system based on the ZigZag indicator.