Gallery of UIs written in MQL - page 5

 

Again an attempt to integrate controls into tables. More successful than previous attempts, but far from being the best.


 

Clearly taken to the next level here....


 

Man, this is really written in my markup language in MQL5.))

Last picture for today. Continuation tomorrow.


 

Impressive. A lot of work has been done!

Unfortunately, I have a negative experience with user interface elements created by third-party developers. The vast majority of windows I came across displayed normally only at a certain monitor resolution and 100% scaling value in Windows properties. And at 4K resolution and 175% scaling (my case), the controls became unreadable or overlapped with each other.

By the way, this also applies to windows created with the help of UI classes included in MetaEditor.

When creating your windows, do you always check how they will look at different screen resolutions and scaling values in Windows settings?

 
E38 controls became unreadable or overlapped with each other.

By the way, this also applies to the windows created with the help of UI classes included in the MetaEditor package.

When creating your windows, do you always check how they will look at different screen resolutions and scaling values in Windows settings?

Thanks.
At the time of developing this UI, 4K format was new and fresh and not widespread as it is nowadays, and such a problem didn't exist. More precisely, I was unaware of the costs of 4K because no one had brought it up. However, even if I had encountered this problem, I would not have been able to solve it at the MQL level. Most likely, I would have advised the user to use the standard monitor until the MQ developers find the appropriate solution and upgrade the language and terminal. And then he would have upgraded his graphics.

But it didn't come to that).

Added:

About checking how windows and panels look at different screen resolutions, I didn't do such checks on purpose, as there were no complaints and remarks among few users of my UI. Perhaps problems would have been found, but again - they were hardly solved at the MQL level.
 
Реter Konow #:
Thanks.
At the time this UI was developed, 4K format was new and fresh and not widespread as it is nowadays, and this problem didn't exist. More precisely, I was unaware of the costs of 4K because no one brought it up. However, even if I had encountered this problem, I would not have been able to solve it at the MQL level. Most likely, I would have advised the user to use the standard monitor until the MQ developers find the appropriate solution and upgrade the language and terminal. And then he would have upgraded his graphics.

But it didn't come to that).

Added:

About checking how windows and panels look at different screen resolutions, I didn't do such checks on purpose, as there were no complaints and remarks among few users of my UI. Perhaps problems would have been found, but again - they were hardly solved at the MQL level.
In the terminal properties there is DPI of the monitor for a long time, and in the help there is an example of calculating the size of graphical objects.
 
Artyom Trishkin #:
In the terminal properties there is DPI of the monitor for a long time, and in the help there is an example of calculating the size of graphic objects.
So, if I faced such a problem, I could easily solve it. However, as I said before, I haven't encountered it. I haven't learnt to look for solutions ahead of emerging problems yet, but I try very hard.))

By the way, examples of solving the 4K problem are also in the help?
 
Реter Konow #:
examples of solving the 4K problem are also in the help?

What problem are we talking about?

 
Artyom Trishkin #:

What kind of problem are we talking about?

The one in post #44.

By the way, it is strange that the solution from the help you are talking about is not applied in the native UI-library of ME, ...judging by the words of the person above.
 
Реter Konow #:
The one in post #44.

By the way, it is strange that the solution from the help you are talking about is not applied in the native UI-library of ME, ...judging by the words of the person above.

Here(TERMINAL_SCREEN_DPI):

Anexample of a scaling factor calculation:

//--- создаём кнопку шириной 1.5 дюйма на экране
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // получим DPI монитора пользователя
int base_width = 144;                                      // базовая ширина в экранных точках для стандартных мониторов c DPI=96
int width      = (button_width * screen_dpi) / 96;         // вычислим ширину кнопки для монитора пользователя (с учётом его DPI)
...
 
//--- вычисление коэффициента масштабирования в процентах
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//--- использование коэффициента масштабирования
width=(base_width * scale_factor) / 100;

When used in this way, the graphic resource will be the same size by eye on monitors with different resolutions. At the same time, the sizes of control elements (buttons, dialogue windows, etc.) will correspond to the personalisation settings.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Идентификаторы для получения информации о клиентском терминале функциями TerminalInfoInteger() и TerminalInfoString() . В качестве параметра эти...