Обсуждение статьи "Язык MQL как средство разметки графического интерфейса MQL-программ (Часть 3). Дизайнер форм"
Визуальный редактор, все таки, должен включать ручное редактирование элементов - растягивание, перемещение, печатание текста, копирование и прочее. Желательно наличие вспомогательной разметки.
Этот редактор подает надежды, хотя я не представляю как автор реализует остальные требования, так как не понимаю его технологии. Он "встал на плечи" стандартной библиотеки и с одной стороны это дало мощный толчек вперед, с другой - заставляет наследовать ее ограничения. Она же не предназначена для масштабной трансформации... Много функционала придется дописывать сверху.
Список требований к будущему редактору:
1. Мануальная настройка элементов.
2. Копирование элементов.
3. Одновременное управление свойством множества элементов.
4. Вспомогательная раметка.
5. Многооконный режим.
6. Создание окон разных типов.
7. Поддержка свойств окон: "всегда сверху", блокируещее остальные, с/без сворачивания.
8. Параллельное редактирование окон.
9. Удаление окон.
Пока все.
ЗЫ. Насколько я знаю, контроллы СБ состоят из МТ-объектов, что с одной стороны - упрощает систему взаимодействия с элементами и мануальную настройку (давным давно у меня был редактор на основе МТ-объектов и его несложно было сделать), с другой (если принять это упрощение) - отнимает все преимущества канваса (среди которых - скорость, визуальные эффекты и многое другое). То есть - "допинг-эффект" от использования СБ при создании редактора, его жестко ограничивает в развитии. Но, посмотрим...
- www.mql5.com
После каких-то изменений в одном из билдов, видимо, связанных с оптимизатором компилятора MQL5, программа перестала нормально работать в релизном варианте, хотя работает как надо в отладочном.
Сообщал об этом на форуме, но реакции MQ не последовало.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Stanislav Korotky, 2024.03.11 15:49
Перестал нормально отрабатывать клик на объектах на графиках. Раньше всегда при равенстве z-order-ов учитывался порядок создания объектов: те что созданы позднее считались как бы "наверху" - получали приоритет при отработке клика.
Сейчас это сломано причудливым образом.
Если эксперт откомпилирован без оптимизации или под отладчиком - все работает как надо (как раньше).
Если откомпилирован с оптимизацией - выделяется не тот объект (нижележащий).
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Язык MQL как средство разметки графического интерфейса MQL-программ (Часть 3). Дизайнер форм:
В этой статье мы завершаем описание концепции построения оконного интерфейса MQL-программ с помощью конструкций языка MQL. Специальный графический редактор позволит интерактивно настраивать раскладку, состоящую из основных классов элементов GUI, и затем экспортировать её в MQL-описание для использования в вашем MQL-проекте. Представлено внутреннее устройство редактора и руководство пользователя. Исходные коды прилагаются.
Редактор рассчитан на классы интерфейсных элементов Стандартной библиотеки. Для создания аналогичных инструментов для других библиотек потребуется написать конкретные реализации всех абстрактных сущностей из предложенной системы разметки. При этом следует руководствоваться реализацией классов разметки для Стандартной библиотеки.
Следует обратить внимание, что название "библиотека стандартных компонентов" не совсем соответствует действительности, так как в контексте предыдущих статей нам уже пришлось существенно её модифицировать и вывести в параллельную версионную ветку в папке ControlsPlus. В рамках данной статьи мы будем продолжать её использовать и модифицировать.
Перечислим типы элементов, которые будет поддерживать редактор.
Все классы обеспечивают адаптивное изменение размера (некоторые стандартные типы умели это изначально, для других пришлось вносить существенные правки).
Процесс редактирования формы
Автор: Stanislav Korotky