Установка цвета заголовков колонок list (snazzylb)

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Попался на глаза такой шаблон. Скачал с сайта icetips https://www.icetips.com/downloads.php?dl=PAR2 Версия 1.34.
Перегнал в класс. В целом работает, но при наличии в list групп при горизонтальной прокрутке сбивается. Может, у кого есть более поздняя версия или кто фиксил уже.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Наверно, отбой. Классы XPTheme 3 делают это (и другое), выглядит корректно.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

В XPTheme тоже свои ограничения. Сбивается при горизонтальном скроллинге, если в list зафиксированные колонки. Плавающая проблема при скрытии/показе колонок в группах. Похоже, что так просто взять и применить не получается тоже, свои ограничения.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Прикреплю сюда класс для изменения цвета заголовков колонок list, сделанный на базе шаблона snazzylb. По тестам он нормально работает на list без групп. Единственная замеченная проблема в этом случае, фиксированные колонки слева должны быть помечены все без пропусков. По поводу групп надо править метод с отрисовкой, будет время, гляну.

Порядок работы с классом такой.
Объявляем его стандартно include('fsListHead.inc').
В процедуре на каждый list, который надо обработать, декларируем в секции данных:
fsListHeadL1 &fsListHead
После open(window) инициируем. В параметрах передаем ссылку на окно, номер контрола и номер темы. Номер темы я под себя сделал, 1-темная, 2-windows 10.
fsListHeadL1 &= new(fsListHead)
fsListHeadL1.init(Window,?Control,2)
Перед закрытием окна:
fsListHeadL1.kill
dispose(fsListHeadL1)

Этот код можно поместить в условие активности темы, тогда оно не влияет на обычные режимы работы. Я прибил себе в шаблоны.
fsListHead.jpg
fsListHead.7z
(5.14 КБ) 67 скачиваний
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 5086
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 23 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение kreator »

И в Win10/11 работает? И с манифестом?
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

kreator писал(а): 05 Ноябрь 2024, 22:17 И в Win10/11 работает? И с манифестом?
Да. Сбивается только на горизонтальном скроллинге при наличии групп.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Попалась такая фича в рантайме с6. Если для list горизонтальный скроллинг не задан, то позиция в скроллировании с клавиатуры всегда равна нулю (PROP:HScrollPos). Чтобы позиция определялась, после открытия надо передернуть prop:flat. Тогда и при выключенном скроллинге позиция определяется.

Код: Выделить всё

      if ?List{PROP:HSCROLL}=0
          ?List{PROP:HSCROLL}=1
          ?List{prop:flat}=1
          ?List{PROP:HSCROLL}=0
      end   
      !  ?List{prop:flat}=0  - это опционально        
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Поправил скроллинг в таблицах с группами. На своих таблицах проблем больше не воспроизвожу.

fslistHead.zip
(6.16 КБ) 77 скачиваний
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Проверил совместную работу класса с xptheme. Работает, хотя в справке было написано, что не совместимо. То есть, в xptheme можно отключить признак обработки LIST и заменить на этот класс.
Xptheme не зашло с ходу. Подключить не сложно, но блюмкают окна по какой-то причине.
Проверил ещё ошибку в xptheme с прокруткой колонок в Crm монитор, имеет место быть. Увидеть можно, открыв окно, в котором есть LIST с фиксированными первыми колонками и нажать в нем клавишу стрелка вправо. Содержимое таблицы прокручивается, а заголовок нет.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1403
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 10 раз
Поблагодарили: 2 раза
Контактная информация:

Установка цвета заголовков колонок list (snazzylb)

Сообщение RaFaeL »

finsoftrz писал(а): 08 Ноябрь 2024, 10:53 Проверил ещё ошибку в xptheme с прокруткой колонок в Crm монитор, имеет место быть. Увидеть можно, открыв окно, в котором есть LIST с фиксированными первыми колонками и нажать в нем клавишу стрелка вправо. Содержимое таблицы прокручивается, а заголовок нет.
Не смог поймать, заголовок тоже прокручивается везде
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Например, вот здесь.
sroll1.jpg
sroll2.jpg
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Или вот еще.

sroll3.jpg
sroll4.jpg

У себя я четко воспроизводил после добавления групп колонок и фиксации первой колонки.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1403
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 10 раз
Поблагодарили: 2 раза
Контактная информация:

Установка цвета заголовков колонок list (snazzylb)

Сообщение RaFaeL »

Да, воспроизводится, но только в тех местах, где в колонке дерево
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

Установка цвета заголовков колонок list (snazzylb)

Сообщение finsoftrz »

Возможно, правили уже что-то. В первоисточнике при просто фиксации первой колонки перестает работать.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1403
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 10 раз
Поблагодарили: 2 раза
Контактная информация:

Установка цвета заголовков колонок list (snazzylb)

Сообщение RaFaeL »

Правили и очень много
Ответить