Использование модулей из MQL4\Include\Controls

 
Где можно почитать об использовании модулей из папки MQL4\Include\Controls (диалоговые окна и элементы управления на графике с помощью ООП)?
 
Mihail Matkovskij:
Где можно почитать об использовании модулей из папки MQL4\Include\Controls (диалоговые окна и элементы управления на графике с помощью ООП)?

Просто ищите статьи по этой тематике для MQL5, библиотеки одинаковы, но в MQL5 она побогаче. Поиском по сайту "элемент управления". И также смотрите справку по MQL5 - Стандартная библиотека.

 
Можно еще попытаться самому разобраться в методах. Код там удобочитаем.
 
Игорь Герасько:
Можно еще попытаться самому разобраться в методах. Код там удобочитаем.
Но сюрпризов в процессе разработки будет ой как немало! ;)
 
Mihail Matkovskij:
Где можно почитать об использовании модулей из папки MQL4\Include\Controls (диалоговые окна и элементы управления на графике с помощью ООП)?
Переходите на MQL5 - много статей и документация с примерами.
 
Karputov Vladimir:
Переходите на MQL5 - много статей и документация с примерами.
Дак вроде кроме торговых операций разницы почти нет меж стандартными библиотеками MT4 / 5 ?
 
Alexander Puzanov:
Дак вроде кроме торговых операций разницы почти нет меж стандартными библиотеками MT4 / 5 ?
В МТ5 побогаче будет.
 
Alexey Volchanskiy:
В МТ5 побогаче будет.
SubChart не вижу - это существенно. Без диаграмм и волн Эллиотта я лично грустить не буду. А что ещё?
 
Andrey Khatimlianskii:
Но сюрпризов в процессе разработки будет ой как немало! ;)
Вот потому и лучше разобраться в коде )). Уже пару раз приходилось корректировать стандартную библиотеку под себя.
 
Andrey Khatimlianskii:
Но сюрпризов в процессе разработки будет ой как немало! ;)

Точно! И первый сюрприз, переполнение стека (Stack overflow) и небольшая неадекватность кнопок. Мой пробный индикатор добавляет на чарт окно (наследник класса CAppDialog), при попытке свернуть его вылетает Stack overflow, при закрытии, индикатор полностью удаляется с графика. Попробовал реализовать обработку кликов по кнопке (как описано здесь https://www.mql5.com/ru/articles/345) и все кнопки (включая те для которых я не успел ещё сделать обработку кликов) стали вдруг отжиматься при отпускании мыши. Мне же нужно чтобы те кнопки, для которых установлена обработка кликов отжимались, а те на которых установлены обработчики OnMouseDown и OnMouseUp сохраняли своё нажатое/отжатое состояние. Я точно не знаю, но думаю, что вся проблема в неправильной обработке событий с помощью макросов, да и сам обработчик событий родительского класса (CAppDialog) написан немного неправильно.

Для обработки событий используется следующий механизм, в наследнике класса CAppDialog прописывается:

virtual bool  OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam);

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

Создай свои графические панели на MQL5
Создай свои графические панели на MQL5
  • 2012.01.11
  • MetaQuotes Software Corp.
  • www.mql5.com
Удобство пользования MQL5-программой определяется не только её богатой функциональностью, но и продуманным графическим интерфейсом. Визуальное восприятие иногда гораздо важнее, чем быстрая и стабильная работа. Перед вами пошаговое руководство по самостоятельному созданию индикаторных панелей на основе классов Стандартной библиотеки.
 
Игорь Герасько:
Вот потому и лучше разобраться в коде )). Уже пару раз приходилось корректировать стандартную библиотеку под себя.

Иногда проще написать все заново, чем разбираться в таком объеме кода.

Проблема в том, что по нему совсем нет документации. А двигаться вслепую получается медленно, а иногда и больно )

Причина обращения: