Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Извиняюсь за дезинформацию, ранее писал, что нельзя в дочернем классе вызвать метод Create().
Сейчас перепроверил, можно. Но доступ к private-члену m_button был недоступен. Т.е. нельзя было проверить, например, состояние кнопки: нажата/отжата.
С подсказкой Игоря теперь можно.
с баттонами там нет проблем, не помню, но у этого класса были готовые методы ( не поля ) - для определения состояния, если нет, то проверьте IsActive() или PropFlags() или StateFlags() - там точно что было готового, чтобы узнать что с кнопкой сейчас
ну и расскажу уж второй хак с графикой в MQL - Вы можете узнать имя кнопки ( Name() ) и по имени кнопки найти ее и получить состояние через ObjectGetInteger() и пр. ф-ций, но чтобы не делать это "топорно" - напишите в своем классе свой метод для получения свойств через ObjectGetInteger()
воткактоттак! ;)
PS: я со СБ тоже мучался - не мог найти почему чекбоксы после сворачивания панели и разворачивания панели становятся выделенными - как будто клик мышей был по обьекту.. поняв, что не хочу СБ всю перечитывать - сделал свой обработчик который после разворачивания формы устанавливал через ObjectSetInteger() свойство снять выделение обьекта для моих чекбоксов
с баттонами там нет проблем, не помню, но у этого класса были готовые методы ( не поля ) - для определения состояния, если нет, то проверьте IsActive() или PropFlags() или StateFlags() - там точно что было готового, чтобы узнать что с кнопкой сейчас
ну и расскажу уж второй хак с графикой в MQL - Вы можете узнать имя кнопки ( Name() ) и по имени кнопки найти ее и получить состояние через ObjectGetInteger() и пр. ф-ций, но чтобы не делать это "топорно" - напишите в своем классе свой метод для получения свойств через ObjectGetInteger()
воткактоттак! ;)
PS: я со СБ тоже мучался - не мог найти почему чекбоксы после сворачивания панели и разворачивания панели становятся выделенными - как будто клик мышей был по обьекту.. поняв, что не хочу СБ всю перечитывать - сделал свой обработчик который после разворачивания формы устанавливал через ObjectSetInteger() свойство снять выделение обьекта для моих чекбоксов
С этим я сталкивался тоже. Нужно было диалоговую панель из СБ в свои цвета раскрасить. Они тоже оказались спрятаны в private секции. Как раз и выкрутился методом, который через ObjectGetInteger() напрямую красил панели. И тоже после сворачивания и разворачивания была неприятность.
Так заголовок выглядит до первого сворачивания:
А так после
Почему на кнопках закрытия и сворачивания потом возвращается умолчательный цвет, тоже в дебрях СБ не смог найти.
С этим я сталкивался тоже. Нужно было диалоговую панель из СБ в свои цвета раскрасить. Они тоже оказались спрятаны в private секции. Как раз и выкрутился методом, который через ObjectGetInteger() напрямую красил панели. И тоже после сворачивания и разворачивания была неприятность.
Так заголовок выглядит до первого сворачивания:
А так после
Почему на кнопках закрытия и сворачивания потом возвращается умолчательный цвет, тоже в дебрях СБ не смог найти.
Посмотрел я в очередной раз на местный std и убедился в правильности решения написания своей библиотеки)))
Я вот здесь писал момент с кнопками, выдержка оттуда:
пока кнопку нажимаешь медленно, примерно раз в секунду, все работает хорошо. Начинаю нажимать чуть быстрее и часто не перехватывается событие.
В Вашей библиотеке замечали такие проблемы? Хотелось бы знать, это реализация СБ такая или архитектура обработки событий и ее уже не обойдешь?
... Хотелось бы знать, это реализация СБ такая или архитектура обработки событий и ее уже не обойдешь?
Вы можете самостоятельно создать кнопку как графический объект без использования библиотеки и сравнить ее работу с кнопкой созданной через библиотеку.
Вы можете самостоятельно создать кнопку как графический объект без использования библиотеки и сравнить ее работу с кнопкой созданной через библиотеку.
Я вот здесь писал момент с кнопками, выдержка оттуда:
В Вашей библиотеке замечали такие проблемы? Хотелось бы знать, это реализация СБ такая или архитектура обработки событий и ее уже не обойдешь?
если для себя пишете (не в Маркет), то проще в C# делать окошки с кнопками, и вызывать из MQL .dll на C# - любая фантазия с кнопками, окошками, чекбоксами и т.п. в течении получаса - часа реализуется на C# , правда с неделю мне пришлось материал гуглить
по сабжу, возьмите за основу панель из поставки терминала, в папке индикаторы вроде была и на ее основе намного быстрее сделаете свой интерфейс, но опять же я из своего опыта сужу - я так разбирался
ЗЫ: да вспомнил, я простую панельку в кодебазу выложил, кнопок там нет, но текстовые метки есть и код максимально простой у меня https://www.mql5.com/ru/code/25897
Вы можете самостоятельно создать кнопку как графический объект без использования библиотеки и сравнить ее работу с кнопкой созданной через библиотеку.
Да, взял из одной старой работы, когда не работал с СБ, то делал типа кнопки закрытия. Быстро работает:
Получается проблема в реализации СБ.
Да, взял из одной старой работы, когда не работал с СБ, то делал типа кнопки закрытия. Быстро работает:
Получается проблема в реализации СБ.
Стандартная библиотека подразумевает, что контролы создаются на форме. Просто так они, вроде как, и вообще не должны работать. По крайней мере так было когда-то раньше.
если для себя пишете (не в Маркет), то проще в C# делать окошки с кнопками, и вызывать из MQL .dll на C# - любая фантазия с кнопками, окошками, чекбоксами и т.п. в течении получаса - часа реализуется на C# , правда с неделю мне пришлось материал гуглить
по сабжу, возьмите за основу панель из поставки терминала, в папке индикаторы вроде была и на ее основе намного быстрее сделаете свой интерфейс, но опять же я из своего опыта сужу - я так разбирался
ЗЫ: да вспомнил, я простую панельку в кодебазу выложил, кнопок там нет, но текстовые метки есть и код максимально простой у меня https://www.mql5.com/ru/code/25897
Не, C# не знаю.
А панельку посмотрю, спасибо.