Обсуждение статьи "Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)" - страница 7
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В статье наверное не тот пример вставил. В любом случае исправьте под свои задачи, как Вам нужно.
я не занимаюсь передиранием вашего кода, меня интересует работа самого метода SetImages, так нужно, что бы в каждую ячейку заносились рисунки если их используешь в какой либо колонке таблицы, или это ошибка в вашем примере и вставлять нужно только туда, где используешь?
я не занимаюсь передиранием вашего кода, меня интересует работа самого метода SetImages, так нужно, что бы в каждую ячейку заносились рисунки если их используешь в какой либо колонке таблицы, или это ошибка в вашем примере и вставлять нужно только туда, где используешь?
Насколько понял, то Вам нужно, чтобы картинки вставились только в ячейки первого столбца.
Попробуйте вот так:
Насколько понял, то Вам нужно, чтобы картинки вставились только в ячейки первого столбца.
Попробуйте вот так:
))) т.е. все таки опечатка в методе? я примерно таким путем и пошел.
А как поступить лучше в плане оптимизации нагрузки на расчетные мощности. Есть данные которые считаются раз в период (к примеру М5), данные выводим в таблицу из OnTimer. Размер по строкам на каждом пересчете не гарантирован быть равным прошлому расчету. Вижу пока два варианта:
1. После каждого пересчета удаляем все строки и создаем необходимое их количество. В промежутках между пересчетами данные просто обновляются.
2. После каждого пересчета, обновляем данные в имеющиеся строки таблицы, если не хватает строк, то добавляем новые, если строк больше чем данных, то удаляем не нужные.
Какой из данных вариантов приемлем лучше для таблицы на основе CCanvasTable?
...
Какой из данных вариантов приемлем лучше для таблицы на основе CCanvasTable?
Я не смогу так сразу ответить. Попробуйте сделать тесты с замерами по времени (GetTickCount() или GetMicrosecondCount()) или в режиме профилирования протестировать.
рисунок вставляется почему то только в колонку с индексом 0, в другие не ставится, это особенность такая или что то не так?
А какой результат нужно получить? Подробнее опишите.
И в чём проблема сделать это самостоятельно? Все необходимые методы ведь для этого предоставлены.
P.S. Показывайте скриншоты и код, чтобы лучше понять, что Вам нужно.
А какой результат нужно получить? Подробнее опишите.
И в чём проблема сделать это самостоятельно? Все необходимые методы ведь для этого предоставлены.
P.S. Показывайте скриншоты и код, чтобы лучше понять, что Вам нужно.
если оттолкнуться на вашем примере, то меняю индекс с 0 на 1:
значки должны переместиться в колонку с индексом 1, т.е. вторая, но этого не происходит. Пример взят из TestLibrary10.mqh. Каких либо методов позиционирующих рисунки не нашел, если есть подскажите.
Вообще не могу понять принцип загрузки рисунков в ячейки таблицы. В примере TestLibrary09.mqh рисунки грузятся в разные колонки, а в примере TestLibrary10.mqh только в колонку с индексом 0, при установке в другие колонки рисунки не грузятся. Подскажите в чем там тонкость?
Для каждой ячейки таблицы, в которой должны быть картинки, нужен свой массив картинок. Если ячейка с типом CELL_BUTTON, то достаточно минимум одной картинки на ячейку, если тип CELL_CHECKBOX, то минимум две.
Наприме:
Картинка с индексом 0 - соответствует "отжатому" состоянию чекбокса (кнопки), остальные индексы соответствуют "выбранному" состоянию чекбокса (кнопки).
(не доделано, но для понимания пойдёт):
Скриншоты торговой платформы MetaTrader
EURUSD, M1, 2017.04.21
MetaQuotes Software Corp., MetaTrader 4, Demo
arr_chk[2]; arr_chk[0]=m_img_chk_off; (изображение чекбокса со снятой галочкой) arr_chk[1]=m_img_chk_on; (изображение чекбокса с установленной галочкой)
В основной таблице:
Ячейка 0 содержит картинку открытия графика - у неё тип CELL_BUTTON, массив изображений можно иметь с размерностью 1: arr_img0[1]; arr_img0[0]=m_image_graph;
Ячейка 8 содержит картинку открытия Buy - у неё тип CELL_BUTTON, массив изображений можно иметь с размерностью 1: arr_img8[1]; arr_img8[0]=m_image_buy;
Ячейка 9 содержит картинку открытия Sell - у неё тип CELL_BUTTON, массив изображений можно иметь с размерностью 1: arr_img9[1]; arr_img9[0]=m_image_sell;
После создания таблицы можно инициализировать её нужными значениями и установить нужные типы ячеек и задать для них свои массивы изображений.
Для каждой ячейки таблицы, в которой должны быть картинки, нужен свой массив картинок. Если ячейка с типом CELL_BUTTON, то достаточно минимум одной картинки на ячейку, если тип CELL_CHECKBOX, то минимум две. Картинка с индексом 0 - соответствует "отжатому" состоянию чекбокса (кнопки), остальные индексы соответствуют "выбранному" состоянию чекбокса (кнопки).
Например (не доделано, но для понимания пойдёт):
arr_chk[2]; arr_chk[0]=m_img_chk0; arr_chk[1]=m_img_chk1;
В основной таблице:
Ячейка 0 содержит картинку открытия графика - у неё тип CELL_BUTTON, массив изображений можно иметь с размерностью 1: arr_img0[1]; arr_img0[0]=m_image_graph;
Ячейка 8 содержит картинку открытия Buy - у неё тип CELL_BUTTON, массив изображений можно иметь с размерностью 1: arr_img8[1]; arr_img8[0]=m_image_buy;
Ячейка 9 содержит картинку открытия Sell - у неё тип CELL_BUTTON, массив изображений можно иметь с размерностью 1: arr_img9[1]; arr_img9[0]=m_image_sell;
После создания таблицы можно инициализировать её нужными значениями и установить нужные типы ячеек и задать для них свои массивы изображений.
Я реально не понимаю в чем проблема )) в первом скрине изменил на колонку с индексом 1 рисунки исчезли, а во втором скрине обратно вернул на колонку с индексом 0, рисунки появились. Это все на примере кода TestLibrary10.mqh
Вот методы создания таблицы:
это инициализация:
это обновление:
выделенное заменил с 0 на 1, т.е. изменил вставку картинки в колонку с номера 0 на номер 1, где тут ошибка?