TrickControls.

Здесь можно найти готовые «кирпичики» — части кода, пригодные для построения более крупных проектов, а также решения различных типовых и не очень задач на VB.

Модератор: Brickgroup

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

TrickControls.

Сообщение The trick » 28.09.2016 (Ср) 12:03

Всем привет.
Здесь я буду собирать библиотеку контролов (OCX) вместе с исходными кодами по мере свободного времени. Все контролы поддерживают юникод.
PS. Особо тестировать у меня времени нет, так что буду рад если кто-то будет сообщать о багах мне.

TrickButton.

Контрол - кнопка. Поддерживает полупрозрачность а также 32 битные иконки.
В качестве темы используется картинка с 10 состояниям кнопки. Последовательность состояний следующая:
  • Нормальное отжатое
  • При наведении отжатое
  • Нормальное отжатое в фокусе
  • При наведении отжатое в фокусе
  • Отжатое неактивное
  • Нормальное нажатое
  • При наведении нажатое
  • Нормальное нажатое в фокусе
  • При наведении нажатое в фокусе
  • Нажатое неактивное
Состояния расположены по вертикали:
Изображение
Картинка темы может содержать альфа-канал. Для поддержки разных масштабов я решил сделать масштабируемые зоны и немастабируемые. К примеру возьмем одно состояние:
Изображение
Области фиолетового цвета остаются немасштабируемыми и располагаются по углам контрола, области красного цвета растягиваются по вертикали и составляют правую и левую сторону, области зеленого - по горизонтали (верхнюю и нижнюю), синяя область растягивается по обеим осям и заполняет контрол изнутри. Размер краевых областей для упрощения я сделал одной величиной, задаваемой свойством Bevel. Например Bevel = 5 задает размеры внешних областей в 5 пикселей.
Кнопка поддерживает иконки, также 24-х или 32-х битные. Также есть возможность для каждого состояния присвоить иконку, для этого в качестве иконки нужно выбрать такую же секвенцию и установить свойство MultiIcon = True.
Положение иконки относительно текста настраивается, можно ставить иконку слева, сверху, справа,снизу. Также имеется возможность настройки положения содержимого по горизонтали и вертикали.
Расстояние между краями контрола и между текстом и иконкой задается свойством Spacing.
Для увеличения производительности прозрачность можно отключить (когда фон однородный), это делается установкой свойства Transparent. Прозрачность работает следующим образом, при перемещении контрола, картинка под ним сохраняется в буфер, тем самым она является фоном, так что если фон меняется, то нужно вызывать SetWindowPos для синхронизации фона.
Свойство Soft задает режим плавной отрисовки.

Контрол поддерживает дополнительные события мыши (прокрутку колеса, уход мыши с контрола, заход на контрол можно например повесть звук)

Изображение

TrickCheckbox.

Контрол - чекбокс. Все свойства аналогичны TrickButton. Состояния идут в такой же последовательности, только добалены еще сосотояния для Checked и Grayed, итого 30 состояний.
К примеру:
Изображение
Имеется возможность задавать положение флажка свойством CheckPos, относительно текста.
Изображение

TrickRadiobutton.

Контрол - радиокнопка. Все свойства аналогичны TrickCheckBox. Состояния идут в последовательности для состояний False и True, итого 20 состояний.
Изображение
Вложения
TrickControls.rar
(1019.17 Кб) Скачиваний: 240
UA6527P

Вернуться в Кирпичный завод

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

    TopList