Вверх ↑
Ответов: 5227
Рейтинг: 587
#1: 2021-07-24 09:24:29 ЛС | профиль | цитата
Добрался таки до трекбара линейки GDI+
Не могу догнать логику работы штатного от майкрософт. Пример регулятор громкости в windows.
куда не ткни на него он отплясывает куда не поподя. Так же ведёт себя и штатный (он ведь родной) на скриншоте серый.
Короче сделал свой вариант. Работает хорошо (как я думаю, типа прицелиллся с похмелья и попал, а может и нет )
Теперь нужно доделать маркеры и математику по позиции но дело встало из за непонимания логики работы.
Рыжий на скриншоте мной портированный XitrackBar, к сожалению руш-трекбар с моими панелями не дружит. (х.э почему)
Основные особенности того что получилось.
Возможность использовать как трекбар и как полосу прокрутки.
За счёт индивидуального сглаживания углов задания размеров полосы и бегунка можно изощрятся как угодно.
Захват при мышью и регулировка за пределами контрола как у MS (очень полезно когда регулятор слишком мал)
Установка позиции по клику на полосе прокрутки.

Собственно сам вопрос: Может кто обьяснить логику работы трэкбара от MS или дать ссылку на почитать как это оно и для чего у него так работает?



пока что ини такой

Color1=Верхний цвет градиента|8|clWhite
Color2=Нижний цвет градиента|8|clSkyBlue
Color3=Цвет подсветки ползунка при наведении мыши|8|16744448
@Max=Максимальное значение св-ва Position|1|10
Min=Минимальное значение св-ва Position|1|0
@TickCount=Количество тиков, через которое ставиться маркер|1|1
Position=Начальная позиция ползунка|1|0
Kind=Ориентация ползунка на форме|4|0|Horizontal,Vertical
TickMarks=Вид тиков ползунка|4|0|tmNone,tmBottomRight,tmTopLeft,tmBoth
Size=Высота/ширина полосы прокрутки|1|8
Radius=Радиус углов полосы прокрутки|1|5
ThumbWidth=Ширина ползунка|1|12
ThumbHeight=Высота ползунка|1|18
##ViewStyle=Назначить округлённые углы у ползунка индивидуально
ThumbRadius=Радиус углов ползунка|1|8
topleft=Левый верхний угол|14|0|True,False
topright=Правый верхний угол|14|0|True,False
bottomright=Правый нижний угол|14|0|True,False
bottomleft=Левый нижний угол|14|0|True,False
##

сравните для примера с руш-трекбаром

демка тут https://forum.hiasm.com/getfile/39267
(с клавы по фокусу работает колесо мыши пока не зацепил)
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
4
Голосовали:Netspirit, lisnic, sla8a, Gunta