
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Где-то на форуме полный рабочий код на mql4 и mql5
Писал примерно год назад.
В какой теме, или как искать?
В какой теме, или как искать?
Вот тут большой вопрос с примитивным поиском по сайту, иначе Я бы и сам нашёл.
Наверное, вот это?
спасиб
спасиб
Здравствуйте, покажите, пожалста, как делали?
Выводишь данные из массива в Лейблы в клиентской области Скролл бара со смещением равным смещению этого Скролл бара. В качестве Скролл бара можно взять CScrollV из стандартной библиотеки. Массив - список со всеми пунктами (items). Лейблы - область для вывода items из списка. Что там такого сверх сложного?... При желании справится любой программист, который дружит с ООП.
Выводишь данные из массива в Лейблы в клиентской области Скролл бара со смещением равным смещению этого Скролл бара. В качестве Скролл бара можно взять CScrollV из стандартной библиотеки. Массив - список со всеми пунктами (items). Лейблы - область для вывода items из списка. Что там такого сверх сложного?... При желании справится любой программист, который дружит с ООП.
Со скролом из СБ разбирались? У меня почему-то не получилось отдельно на графике заставить работать, без клиентской панели. Может сможете помочь?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "Как создать графическую панель любой сложности и как это работает"
Vasiliy Pushkaryov, 2021.12.21 10:12
Пытаюсь создать вертикальную полосу прокрутки без привязки к панели, просто на графике, но она почему-то не работает.
Например, с чекбоксом такой код дает реакцию на клик мыши. Галочка появляется и исчезает.
А с вертикальным скролом - никакой реакции на нажатия кнопок мыши.
Подскажите, пожалуйста, кто знает, как заставить работать этот комбинированный элемент на графике?
Со скролом из СБ разбирались? У меня почему-то не получилось отдельно на графике заставить работать, без клиентской панели. Может сможете помочь?
Там много нюансов. На Чекбоксе галка работает (визуально) поскольку это OBJ_BITMAP_LABEL, а смена его State осуществляется терминалом. Его клик можно отследить как и клик любого Битмап лейбла в OnChartEvent. Но в стандартной библиотеке своя событийная модель основанная на пользовательских событиях. Они генерируются в void CAppDialog::ChartEvent с помощью перебора CArrayObj CWndContainer::m_controls если компонент CScrollV был добавлен в CAppDialog. Тогда генерируется такие события как ON_CLICK, ON_DRAG_START, ON_DRAG_PROCESS и ON_DRAG_END. В вашем же случае компоненты не были добавлены в CAppDialog, поэтому события не генерируются. Как обойти данный механизм и заставить генерироваться пользовательские события без CAppDialog об этом я не думал. Нужно более подробно анализировать исходники.
Можно попробовать создать компонент на основе класса CWndContainer. И добавить элементы в него. Там нет визуальных элементов (как в окнах CDialog и CAppDialog), но все нужные механизмы для правильной работы элементов UI присутствуют.
Там много нюансов. На Чекбоксе галка работает (визуально) поскольку это OBJ_BITMAP_LABEL, а смена его State осуществляется терминалом. Его клик можно отследить как и клик любого Битмап лейбла в OnChartEvent. Но в стандартной библиотеке своя событийная модель основанная на пользовательских событиях. Они генерируются в void CAppDialog::ChartEvent с помощью перебора CArrayObj CWndContainer::m_controls если компонент CScrollV был добавлен в CAppDialog. Тогда генерируется такие события как ON_CLICK, ON_DRAG_START, ON_DRAG_PROCESS и ON_DRAG_END. В вашем же случае компоненты не были добавлены в CAppDialog, поэтому события не генерируются. Как обойти данный механизм и заставить генерироваться пользовательские события без CAppDialog об этом я не думал. Нужно более подробно анализировать исходники.
Можно попробовать создать компонент на основе класса CWndContainer. И добавить элементы в него. Там нет визуальных элементов (как в окнах CDialog и CAppDialog), но все нужные механизмы для правильной работы элементов UI присутствуют.