Классно, пользительные вещи вытворяешь ;)
Анатоль, мне кажется есть некие доработки, которые можно было бы внести. Например, когда курсор находится над любым из списков, рука сама тянется к колёсику для прокрутки списка, но, увы, прокручиваем график. А ведь у тебя есть отслеживание прокрутки графика. Может лучше не убирать список, а именно его прокручивать, временно отключив прокрутку графика, как считаешь?
И ещё: так и не понял, есть ли возможность не выводить описание списка, которое слева от кнопки списка находится? Оно не всегда нужно.
Ну или вообще кардинально - если главное окно программы в фокусе, то отрубить прокрутку графика, а там уже по месту определять, нужно что-либо прокручивать от колёсика, или не реагировать на него...
Например, в 3D Studio MAX, например, есть реакция на на зажатую левую кнопку мыши и её перемещение вверх-вниз над формой инкремента/декремента какого-либо значения. Щёлкнул по стрелке вверх или вниз и, не отпуская кнопки ведёшь мышой вверх или вниз, а значение в окошке формы либо увеличивается, либо уменьшается в зависимости от направления движения мыши.
Анатоль, мне кажется есть некие доработки, которые можно было бы внести. Например, когда курсор находится над любым из списков, рука сама тянется к колёсику для прокрутки списка, но, увы, прокручиваем график. А ведь у тебя есть отслеживание прокрутки графика. Может лучше не убирать список, а именно его прокручивать, временно отключив прокрутку графика, как считаешь?
Сейчас, насколько я знаю, средствами MQL можно отследить, нажата ли средняя кнопка мыши. Но отследить прокручивается ли она, пока нельзя.
И ещё: так и не понял, есть ли возможность не выводить описание списка, которое слева от кнопки списка находится? Оно не всегда нужно.
Да, это можно. При создании элемента в метод CComboBox::LabelText() передать пустую строку ("").
Например, в 3D Studio MAX, например, есть реакция на на зажатую левую кнопку мыши и её перемещение вверх-вниз над формой инкремента/декремента какого-либо значения. Щёлкнул по стрелке вверх или вниз и, не отпуская кнопки ведёшь мышой вверх или вниз, а значение в окошке формы либо увеличивается, либо уменьшается в зависимости от направления движения мыши.
В следующей статье будет представлен ряд элементов управления, в числе которых есть элемент "Поле ввода". Там в текущей реализации есть ускоренная прокрутка. То есть зажатие левой кнопки мыши над кнопками инкремента/декремента и удержание курсора в области этих кнопок приводит к ускоренной перемотке значений.
Скопировал фсе в mql4 папку, советник TestLibrary серый и не открывается. Пишет в экспертах "cannot open file".
Работает ли в режиме теста? Есть ли смысл разбираться, почему не запускается, так как очень важно чтобы работало в режиме тестирования.
Скопировал фсе в mql4 папку, советник TestLibrary серый и не открывается. Пишет в экспертах "cannot open file".
Работает ли в режиме теста? Есть ли смысл разбираться, почему не запускается, так как очень важно чтобы работало в режиме тестирования.
Версия библиотеки для MT4 больше не поддерживается мной.
Последнюю версию для MT5 на текущий момент можно скачать в этой статье: Графические интерфейсы X: Элемент "Время", элемент "Список из чекбоксов" и сортировка таблицы (build 6)
На текущей стадии разработки тесты в тестере не проводились и ещё долго не будут проводиться.
Скопировал фсе в mql4 папку, советник TestLibrary серый и не открывается. Пишет в экспертах "cannot open file".
Работает ли в режиме теста? Есть ли смысл разбираться, почему не запускается, так как очень важно чтобы работало в режиме тестирования.
В режиме визуализации графику выводит, но нет никакой интерактивности.
Версия библиотеки для MT4 больше не поддерживается мной.
какая последняя версия Библиотеки, работающая в MT4 ?
——————————
как ПОСЛЕ создания изменить количество пунктов, количество отображаемых пунктов и их значения? например было 3 (отображение 3), делаем 4 (отображение 4)
if(id==CHARTEVENT_CUSTOM+...){
m_combobox_sm.ItemsTotal(4);
m_combobox_sm.VisibleItemsTotal(4);
string items_text[4]={"FALSE","item 1.0","item 2.0","item 3.0"};
for(int i=0; i<4; i++){m_combobox_sm.ValueToList(i,items_text[i]);}
}
какая последняя версия Библиотеки, работающая в MT4 ?
Последняя версия для MT4 в этой статье: Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 3)
как ПОСЛЕ создания изменить количество пунктов, количество отображаемых пунктов и их значения? например было 3 (отображение 3), делаем 4 (отображение 4)
Такая возможность появилась в последней версии библиотеки и только для MT5: Графические интерфейсы X: Расширенное управление списками и таблицами. Оптимизация кода (build 7)
как думаете, если рассматривать версию 10.3 - можно ли в обработчике событий удалить и на этом же месте создать combobox с новыми параметрами?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Графические интерфейсы V: Элемент "Комбинированный список" (Глава 3):
В первых двух главах пятой части серии о графических интерфейсах были разработаны классы для создания полосы прокрутки и списка. В этой главе рассмотрим класс для создания такого элемента управления, как «Комбинированный список». Это тоже составной элемент, в числе частей которого есть элементы, рассмотренные в первых двух главах пятой части.
Комбинированный список или комбо-бокс (combobox) это составной элемент управления, основными частями которого являются (1) кнопка и (2) список. Список в этом случае является выпадающим элементом и вызывается посредством нажатия на кнопку. После выбора пункта из списка его текст отображается в кнопке, а список скрывается. Когда в программе есть множество многовариантных параметров, то комбо-боксы будут весьма кстати, так как позволяют создать компактный графический интерфейс.
В списке ниже перечислены все объекты-примитивы, из которых будет собираться элемент «Комбо-бокс».
Рис. 1. Составные части элемента «Комбо-бокс».
Автор: Anatoli Kazharski