Страница 1 из 2

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

Добавлено: 04 Ноябрь 2024, 11:29
finsoftrz
Попался на глаза такой шаблон. Скачал с сайта icetips https://www.icetips.com/downloads.php?dl=PAR2 Версия 1.34.
Перегнал в класс. В целом работает, но при наличии в list групп при горизонтальной прокрутке сбивается. Может, у кого есть более поздняя версия или кто фиксил уже.

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

Добавлено: 04 Ноябрь 2024, 12:44
finsoftrz
Наверно, отбой. Классы XPTheme 3 делают это (и другое), выглядит корректно.

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

Добавлено: 04 Ноябрь 2024, 16:24
finsoftrz
В XPTheme тоже свои ограничения. Сбивается при горизонтальном скроллинге, если в list зафиксированные колонки. Плавающая проблема при скрытии/показе колонок в группах. Похоже, что так просто взять и применить не получается тоже, свои ограничения.

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

Добавлено: 05 Ноябрь 2024, 15:58
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 КБ) 261 скачивание

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

Добавлено: 05 Ноябрь 2024, 22:17
kreator
И в Win10/11 работает? И с манифестом?

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

Добавлено: 05 Ноябрь 2024, 22:55
finsoftrz
kreator писал(а): 05 Ноябрь 2024, 22:17 И в Win10/11 работает? И с манифестом?
Да. Сбивается только на горизонтальном скроллинге при наличии групп.

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

Добавлено: 06 Ноябрь 2024, 11:23
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  - это опционально        

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

Добавлено: 07 Ноябрь 2024, 16:47
finsoftrz
Поправил скроллинг в таблицах с группами. На своих таблицах проблем больше не воспроизвожу.

fslistHead.zip
(6.16 КБ) 311 скачиваний

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

Добавлено: 08 Ноябрь 2024, 10:53
finsoftrz
Проверил совместную работу класса с xptheme. Работает, хотя в справке было написано, что не совместимо. То есть, в xptheme можно отключить признак обработки LIST и заменить на этот класс.
Xptheme не зашло с ходу. Подключить не сложно, но блюмкают окна по какой-то причине.
Проверил ещё ошибку в xptheme с прокруткой колонок в Crm монитор, имеет место быть. Увидеть можно, открыв окно, в котором есть LIST с фиксированными первыми колонками и нажать в нем клавишу стрелка вправо. Содержимое таблицы прокручивается, а заголовок нет.

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

Добавлено: 08 Ноябрь 2024, 11:22
RaFaeL
finsoftrz писал(а): 08 Ноябрь 2024, 10:53 Проверил ещё ошибку в xptheme с прокруткой колонок в Crm монитор, имеет место быть. Увидеть можно, открыв окно, в котором есть LIST с фиксированными первыми колонками и нажать в нем клавишу стрелка вправо. Содержимое таблицы прокручивается, а заголовок нет.
Не смог поймать, заголовок тоже прокручивается везде

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

Добавлено: 08 Ноябрь 2024, 11:52
finsoftrz
Например, вот здесь.
sroll1.jpg
sroll2.jpg

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

Добавлено: 08 Ноябрь 2024, 12:00
finsoftrz
Или вот еще.

sroll3.jpg
sroll4.jpg

У себя я четко воспроизводил после добавления групп колонок и фиксации первой колонки.

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

Добавлено: 08 Ноябрь 2024, 12:08
RaFaeL
Да, воспроизводится, но только в тех местах, где в колонке дерево

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

Добавлено: 08 Ноябрь 2024, 12:41
finsoftrz
Возможно, правили уже что-то. В первоисточнике при просто фиксации первой колонки перестает работать.

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

Добавлено: 08 Ноябрь 2024, 14:22
RaFaeL
Правили и очень много