Русский | English | UserForms-Class-ALL
Этот репозиторий содержит реализацию на VBA настраиваемого слайдер-контрола, который можно использовать в Excel UserForms. Класс слайдера предоставляет более гибкую и функциональную альтернативу стандартному элементу управления scrollbar.
- Возможности
- Компоненты
- Установка
- Быстрый старт
- Основные функции
- Работа с элементами управления
- Настройка стиля
- Устранение неполадок
- Настраиваемый внешний вид слайдера (размер, цвета, ориентация)
- Поддержка горизонтальной и вертикальной ориентации
- Настраиваемые минимальные и максимальные значения
- Контроль размера шага для точного выбора значения
- Обработка событий при изменении значения
- Плавные визуальные обновления
- Трехпозиционная функциональность (снят, установлен, неопределён)
- Циклическое/непрерывное переключение состояний
- Возможность установки/получения состояния по тексту
- Метод для получения всех доступных состояний
- Улучшенная обработка ошибок и проверки
- Возможность установки имени шрифта и коэффициента размера
- Возможность получения/установки текущего значка
- Метод для установки цвета для конкретного состояния
- Метод для сброса в начальное состояние
clsSlider.cls: Основная реализация класса слайдераfrmTestClass.frm: Тестовая форма, демонстрирующая использованиеmodShowForms.bas: Модуль, содержащий функции отображения форм- Документация в папке
docs/: docs/technical_documentation_rus.md- Техническая документация на русском языкеdocs/technical_documentation_eng.md- Техническая документация на английском языкеdocs/user_guide_rus.md- Руководство пользователя на русском языкеdocs/user_guide_eng.md- Руководство пользователя на английском языкеdocs/implementation_examples_rus.md- Примеры реализации на русском языкеdocs/implementation_examples_eng.md- Примеры реализации на английском языке
- Откройте книгу
slider_v4.xlsmв Excel - Импортируйте файлы VBA в ваш проект:
vba-files/Class/clsSlider.clsvba-files/Form/frmTestClass.frmvba-files/Module/modShowForms.bas
- Начните использовать класс слайдера в ваших формах
' В модуле формы
Dim Slider As clsSlider
Private Sub UserForm_Initialize()
' Создание экземпляра класса слайдера
Set Slider = New clsSlider
' Инициализация слайдера с параметрами по умолчанию
Call Slider.Initialize(Me.Label1, 50, 0, 100, True)
End Sub- Инициализация слайдера: Метод
Initializeпозволяет установить начальное значение, минимальное и максимальное значения, а также настроить внешний вид - Управление диапазоном: Возможность настройки минимальных и максимальных значений
- Настройка ориентации: Поддержка горизонтальной и вертикальной ориентации
- Обработка событий: Поддержка событий изменения значения и клика
- Плавные обновления: Визуальное отображение изменений значения
Класс clsSlider использует элемент Label как дорожку слайдера с возможностью:
- Установки начального значения
- Настройки минимального и максимального значений
- Обработки событий перетаскивания
- Отображения метки значения с настраиваемыми позициями
Класс позволяет настраивать:
- Цвета дорожки (пустые/заполненные участки)
- Цвета кнопки слайдера
- Цвета метки значения
- Цвета фона
- Шрифты и размеры текста
Пример настройки цветов:
' Настройка цветов при инициализации
Slider.Initialize Me.Label1, 50, 100, True, , , RGB(200, 200, 200), RGB(0, 100, 200)- Убедитесь, что Microsoft Forms 2.0 Object Library включена в ссылки
- Проверьте, что элемент управления Label добавлен до вызова метода Initialize
- Убедитесь, что свойство MultiUse установлено в True для класса
- Проверьте, что события элемента управления не перегружены другими обработчиками
- Убедитесь, что свойства элемента управления не изменяются вручную во время работы класса
- Проверьте, что класс не инициализируется несколько раз
Этот проект лицензирован в соответствии с Apache License 2.0 - см. файл LICENSE для получения подробностей.
