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

RAV_ListFormat — шаблон для сохранения и настройки формата списков

Добавлено: 06 Июль 2026, 13:01
gopstop2007
RAV_ListFormat — шаблон для сохранения и настройки формата списков

Автономный модуль + шаблон Clarion 10 (ABC), который даёт пользователям вашего приложения возможность настраивать любой список (LIST/BROWSE) под себя — с сохранением настроек отдельно для каждого пользователя и каждого списка — и добавляет разработчику готовый набор инструментов без единой строчки ручного кода в окне.

С огромной благодарностью Игорю Столярову — этот модуль и шаблон созданы на основе его кода и идей.
Дополнил и оформил: Рыбников А.

Что умеет

Для пользователя приложения
Spoiler
  • Перетаскивание колонок мышью — меняется порядок, курсор показывает режим переноса
  • Правый клик по шапке колонки — контекстное меню: скрыть/показать (в т.ч. «показать все скрытые»), переместить влево/вправо, подогнать ширину под текст или под все видимые колонки, прижать текст/заголовок влево или вправо, зафиксировать колонку у левого края, задать формат отображения (числа/даты/деньги) с живым примером, увеличить/уменьшить/сбросить масштаб
  • Полноценное окно-редактор («Настройка таблицы») — одним экраном:
    • список всех колонок с чекбоксами вкл/выкл, иконками статуса, точным вводом ширины (двойной клик по ячейке)
    • поиск колонки по маске * и ?
    • фильтр «Все / Рабочие / Скрытые / Уменьшенные / Увеличенные»
    • визуальная подсветка изменённых колонок — прямо в списке редактора и в самом настраиваемом списке одновременно
    • объединение соседних колонок в группу с собственным названием («Оплата» над «К оплате» + «Оплачено»), переименование группы, разбор группы обратно
    • границы между колонками, цвет и оформление заголовков
    • вкладка «Оформление»: высота строки, размер и семейство шрифта (5 вариантов), цвет сетки, цвет выделения строки, чувствительность колеса мыши
    • вкладки «Описание» и «Клавиши» — встроенная справка для конечного пользователя
    • окно тянется за мышью (resize), кнопка «Сброс настроек по умолчанию» (F5)
  • Масштаб списка одним движением — Ctrl+ / Ctrl- (и NumPad, и основной ряд клавиатуры), кнопки на окне или пункты меню шапки: одновременно меняются шрифт, высота строки и ширина всех колонок. Уровень масштаба хранится отдельно от пользовательских настроек колонок — сброс всегда возвращает точный исходный вид, ничего не портится
  • Два независимых режима раскладки — компактный (максимум строк на экране) и горизонтальный (крупнее, для просмотра большого числа полей), с собственными наборами настроек, переключаются одной кнопкой
Для разработчика
Spoiler
  • Полностью автономный модуль — никакой ABC BrowseClass, никакого словаря приложения, только нативный TopSpeed и ASCII. Вешается на существующий список без переделки процедуры
  • Готовый Clarion Template — перетащить на процедуру, указать объект списка и уникальный ID настроек, галочками включить нужные функции (меню шапки, drag-and-drop, масштаб, режимы раскладки) — весь код генерируется автоматически с чёткими маркерами Start/End
  • Два Control-шаблона-кнопки — «Открыть редактор настроек» и «Кнопки масштаба (+/−/сброс)» — перетаскиваются на окно рядом со списком, сами находят нужный список и привязываются к нему
  • Работает с мульти-DLL — модуль компилируется один раз в data-DLL с Export List, в остальных DLL/EXE — только INCLUDE прототипов
  • Миграция настроек «на лету» — если у пользователей уже есть старый файл настроек другого формата, модуль сам переносит данные при первом запуске, ничего не теряя
  • Устойчивая структура файла настроек — предусмотрен резерв под будущее расширение без пересоздания файлов пользователей
Требования
  • Clarion 10, шаблонсет ABC
  • Никаких сторонних библиотек — только стандартный RTL
Установка

Стандартная структура Clarion10\accessory\ (libsrc\win, template\win, images, doc) — распаковать поверх установки Clarion, подробная инструкция и пример подключения к стандартному или мульти-DLL проекту — в README.txt внутри архива.

Автономный, без зависимостей от словаря и ABC

Замечания в работе и усовершенствования шаблона приветствуются.

RAV_ListFormat — шаблон для сохранения и настройки формата списков

Добавлено: 06 Июль 2026, 14:25
gopstop2007
Вот еще интерфейсы, чтобы было наглядно и понятно.