Обсуждение статьи "Графические интерфейсы X: Новые возможности для нарисованной таблицы (build 9)"

 

Опубликована статья Графические интерфейсы X: Новые возможности для нарисованной таблицы (build 9):

До сегодняшнего дня самым развитым типом таблиц из всех представленных в библиотеке был тип CTable. Эта таблица собирается из полей ввода типа OBJ_EDIT, и дальнейшее её развитие уже проблематично. Поэтому с точки зрения максимальных возможностей даже на текущем этапе развития библиотеки, лучше развивать нарисованную таблицу типа CCanvasTable. Текущая её версия совсем безжизненна, но начиная с этой статьи, мы будем пытаться это исправить.

Нарисованная таблица с выделенной строкой выглядит так:

Рис. 3. Демонстрация выделения и снятия выделения ряда нарисованной таблицы.

Рис. 3. Демонстрация выделения и снятия выделения строки нарисованной таблицы.

Автор: Anatoli Kazharski

 
Большое спасибо, что стали делать анимированные примеры работы элементов. Это здорово.)
 
Решение с текстом в столбце, меняющим свою ширину, - очень красивое. Прокрутка рисованной таблицы тоже отличная. Впечатлен.

Помнится в одной из статей Вы говорили что сделаете таблицу на канвасе интерактивной. Должен констатировать, что Вы умеете достигать поставленных целей.)

Можете ли Вы рассказать о дальнейших планах развития библиотеки? Мне это очень интересно.

Спасибо.
 
Реter Konow:
Решение с текстом в столбце, меняющим свою ширину, - очень красивое. Прокрутка рисованной таблицы тоже отличная. Впечатлен.

Помнится в одной из статей Вы говорили что сделаете таблицу на канвасе интерактивной. Должен констатировать, что Вы умеете достигать поставленных целей.)

Можете ли Вы рассказать о дальнейших планах развития библиотеки? Мне это очень интересно.

Спасибо.

Последние статьи это уже второй этап развития библиотеки. Все элементы в итоге будут нарисованными и снабжены всем необходимым для работы функционалом. 

В следующей статье будет ещё ряд обновлений для нарисованной таблицы и оптимизация алгоритмов некоторых методов.

 
Anatoli Kazharski:

Последние статьи это уже второй этап развития библиотеки. Все элементы в итоге будут нарисованными и снабжены всем необходимым для работы функционалом. 

Не сомневаюсь, что Вы можете все это сделать.

Однако, у меня есть вопрос по поводу создания рисованного GUI. Не считаете ли, что он требует совершенно иной технологии, чем та, которая используется в Вашей библиотеке?

Ведь если я прав, то Вам придется переписывать практически все, что Вы сделали до этого.

Иная технология требует другого подхода и иных решений. Ваша таблица на канвасе сейчас, просто частный случай явления новой технологии, реализованный внутри старой технологии. В моей практике такие вещи постоянно случаются, и обычно свидетельсвуют о начале нового этапа и нового глобального передела. С этого момента, новая технология начинает завоевывать свою территорию, ломая и переделывая все прежние решения и подходы.

Вот такой, "тревожный" признак несет в себе неожиданное появление нового подхода внутри старой, но стабильной и полностью рабочей разработки. )

Проходил через этот много раз и без ментарства, просто делюсь опытом. 

Возможно, Вам удастся каким то образом избежать болезненного передела всего прежде сделанного и новая технология придет в вашу библиотеку легко и свободно, избавив Вас от необходимости платить за нее высокую цену своим трудом и временем. 

Искренне Вам этого желаю хотя бы потому, что для меня это будет бесценным примером, который перевернет мое мировозрение.)

Удачи.

 
Реter Konow:
...

Возможно, Вам удастся каким то образом избежать болезненного передела всего прежде сделанного и новая технология придет в вашу библиотеку легко и свободно, избавив Вас от необходимости платить за нее высокую цену своим трудом и временем. 

Выбранная схема оказалось удачная. Технологию отрисовки элементов я уже протестировал в ней, всё работает очень хорошо. В следующей статье увидите очень хороший пример демонстрирующий это.
 
Хорошо получилось. Да, представляю, какой труд оформлять такие статьи. Особенно когда выложенными на ресурс кодами себя невольно ограничиваешь в каком-либо глобальном рефакторинге.
 
Igor Volodin:
Хорошо получилось. Да, представляю, какой труд оформлять такие статьи. Особенно когда выложенными на ресурс кодами себя невольно ограничиваешь в каком-либо глобальном рефакторинге.

А чем это ограничение выражается?

Рефакторинг осуществляется, но здесь это постепенный процесс. Не сразу получается найти оптимальную версию того или иного алгоритма. Схема тоже постепенно корректируется. Как только приходит мысль, как и что можно улучшить, то изменения сразу же вносятся.

 
Hi, I am realy grateful for Your work, thank You.
I have problem with ColorPicker in new Builds. Does it work well in TestLibrary04 example?
I am using Your library compiled in MQL4. All old examples from previous version work well (after modifications), except example with ColorPicker from Chapter 9/1.
In TestLibrary04 clicking ColorButton in Tab1 opens empty window (W_DIALOG type) without any object.
I know that You not support MQL4 version, but I think that MQL4 is not a reason.
 
stt:
Hi, I am realy grateful for Your work, thank You.
I have problem with ColorPicker in new Builds. Does it work well in TestLibrary04 example?
I am using Your library compiled in MQL4. All old examples from previous version work well (after modifications), except example with ColorPicker from Chapter 9/1.
In TestLibrary04 clicking ColorButton in Tab1 opens empty window (W_DIALOG type) without any object.
I know that You not support MQL4 version, but I think that MQL4 is not a reason.
Используйте MetaTrader 5. Версия для MetaTrader 4 больше не поддерживается и я ничего не могу подсказать.
 
stt:
Hi, I am realy grateful for Your work, thank You.
I have problem with ColorPicker in new Builds. Does it work well in TestLibrary04 example?
I am using Your library compiled in MQL4. All old examples from previous version work well (after modifications), except example with ColorPicker from Chapter 9/1.
In TestLibrary04 clicking ColorButton in Tab1 opens empty window (W_DIALOG type) without any object.
I know that You not support MQL4 version, but I think that MQL4 is not a reason.
Причина обращения: