Skip to content

Latest commit

 

History

History
170 lines (142 loc) · 10.8 KB

File metadata and controls

170 lines (142 loc) · 10.8 KB

Техническая документация для clsSlider

Содержание

  1. Обзор класса
  2. Архитектура класса
  3. Свойства
  4. Методы
  5. События
  6. Константы и перечисления
  7. Детали реализации
  8. Зависимости

Обзор класса

Класс clsSlider реализует пользовательский элемент управления слайдером для VBA UserForms. Слайдер позволяет пользователям выбирать значение в заданном диапазоне, перетаскивая кнопку вдоль дорожки. Он поддерживает как горизонтальную, так и вертикальную ориентацию и предоставляет настраиваемые варианты внешнего вида и поведения.

Основные возможности

  • Поддержка горизонтальной и вертикальной ориентации
  • Настраиваемые значения минимума/максимума и начальное значение
  • Настраиваемый внешний вид (цвета, иконки, форматирование)
  • Видимая/скрытая метка значения с возможностью позиционирования
  • Обработка событий для изменений значения и кликов
  • Функция блокировки для предотвращения взаимодействия пользователя
  • Автоматическое позиционирование метки значения (верх, лево, право, низ)

Архитектура класса

Перечисление PositionValue

Определяет возможные позиции для метки значения слайдера:

  • Top (1) - метка значения появляется над слайдером
  • Left - метка значения появляется слева от слайдера
  • Right - метка значения появляется справа от слайдера
  • Bottom - метка значения появляется под слайдером

Основные свойства класса

Свойство Тип Описание
Value Single Текущее значение слайдера
MinValue Single Минимальное значение слайдера
MaxValue Single Максимальное значение слайдера
IsHorizontal Boolean Флаг для горизонтальной ориентации
Locked Boolean Флаг для блокировки слайдера
Visible Boolean Состояние видимости всех элементов слайдера
Enabled Boolean Состояние доступности слайдера
VisibleLabelValue Boolean Состояние видимости метки значения слайдера
ForeColorValue XlRgbColor Цвет текста метки значения слайдера
ForeColorBtn XlRgbColor Цвет текста кнопки слайдера
BackColorFull XlRgbColor Цвет заполненной части линии слайдера
BackColorEmpty XlRgbColor Цвет пустой части линии слайдера
PositionLabelValue PositionValue Позиция метки значения слайдера
FormatValue String Формат для отображения значения слайдера
ForeColorValue XlRgbColor Цвет текста метки значения слайдера
ForeColorBtn XlRgbColor Цвет текста кнопки слайдера
Name String Имя основной метки слайдера
Icon Long Иконка на кнопке слайдера (в виде значения символа Unicode)

Свойства

Основные свойства

  • Value - Получает или устанавливает текущее значение слайдера
  • MinValue - Получает или устанавливает минимальное значение слайдера
  • MaxValue - Получает или устанавливает максимальное значение слайдера
  • IsHorizontal - Получает, является ли слайдер горизонтальным
  • Locked - Получает или устанавливает состояние блокировки слайдера
  • Visible - Получает или устанавливает состояние видимости всех элементов слайдера
  • Enabled - Получает или устанавливает состояние доступности слайдера
  • VisibleLabelValue - Получает или устанавливает состояние видимости метки значения слайдера
  • ForeColorValue - Получает или устанавливает цвет текста метки значения слайдера
  • ForeColorBtn - Получает или устанавливает цвет текста кнопки слайдера
  • BackColorFull - Получает или устанавливает цвет заполненной части линии слайдера
  • BackColorEmpty - Получает или устанавливает цвет пустой части линии слайдера
  • PositionLabelValue - Получает или устанавливает позицию метки значения слайдера
  • FormatValue - Получает или устанавливает формат для отображения значения слайдера
  • Name - Получает имя основной метки слайдера
  • Icon - Получает или устанавливает иконку на кнопке слайдера

Дополнительные свойства

  • Version - Получает информацию о версии класса
  • Items - Получает коллекцию всех элементов слайдера
  • Count - Получает количество элементов в коллекции

Методы

Initialize

Инициализирует слайдер с указанными параметрами.

Синтаксис:

Public Sub Initialize(ByRef labelSlider As MSForms.Label, _
        ByVal Value As Single, _
        ByVal MinValue As Single, _
        ByVal MaxValue As Single, _
        ByVal VisibleLabelValue As Boolean, _
        Optional FormatValue As String = vbNullString, _
        Optional PositionValue As PositionValue = Top, _
        Optional BackColorEmpty As XlRgbColor = rgbLightGray, _
        Optional BackColorFull As XlRgbColor = rgbGreenYellow, _
        Optional ForeColorBtn As XlRgbColor = rgbBlack, _
        Optional ForeColorValue As XlRgbColor = rgbBlack, _
        Optional Icon As Long = 5963)

Параметры:

  • labelSlider - основная метка, которая будет использоваться как пустая линия слайдера
  • Value - начальное значение слайдера
  • MinValue - минимальное значение слайдера
  • MaxValue - максимальное значение слайдера
  • VisibleLabelValue - видимость метки значения
  • FormatValue - формат для отображения значения (по умолчанию vbNullString)
  • PositionValue - позиция метки значения (по умолчанию Top)
  • BackColorEmpty - цвет пустой части линии (по умолчанию rgbLightGray)
  • BackColorFull - цвет заполненной части линии (по умолчанию rgbGreenYellow)
  • ForeColorBtn - цвет кнопки (по умолчанию rgbBlack)
  • ForeColorValue - цвет значения (по умолчанию rgbBlack)
  • Icon - иконка на кнопке (по умолчанию 59963)

События

Click

Событие, вызываемое при клике на кнопку слайдера.

Синтаксис:

Private Sub mLabelBtn_Click()

Change

Событие, вызываемое при изменении значения слайдера.

Синтаксис:

Private Sub mLabelBtn_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Константы и перечисления

PositionValue

Public Enum PositionValue
    Top = 1  ' Позиция метки значения над слайдером
    Left   ' Позиция метки значения слева от слайдера
    Right ' Позиция метки значения справа от слайдера
    Bottom ' Позиция метки значения под слайдером
End Enum

Детали реализации

Поддержка ориентации

Класс поддерживает как горизонтальную, так и вертикальную ориентацию:

  • Горизонтальная: слайдер движется влево и вправо
  • Вертикальная: слайдер движется вверх и вниз

Визуальные элементы

Слайдер состоит из нескольких визуальных элементов:

  • Основная линия слайдера (пустая часть)
  • Заполненная линия слайдера (заполненная часть)
  • Кнопка слайдера (подвижный элемент)
  • Метка значения (отображает текущее значение)

Обработка событий

Класс автоматически обрабатывает события слайдера:

  • Click - вызывает событие Click при клике на кнопку
  • MouseMove - обновляет позицию и значение слайдера при перетаскивании

Зависимости

  • Библиотека MSForms для элементов управления Label
  • Константы XlRgbColor для свойств цвета