Добрался таки до трекбара линейки 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
(с клавы по фокусу работает колесо мыши пока не зацепил)
Этот топик читают: Гость
Ответов: 5227
Рейтинг: 587
|
|||
карма: 4 |
| ||
Голосовали: | Netspirit, lisnic, sla8a, Gunta |
Ответов: 2059
Рейтинг: 132
|
|||
andrestudio, выё-шся, как мужа на стекле?
Где компонент? Я тоже могу показывать конечный результат. Хочешь воспитать? То, что нам было по плечу, то теперь им похрену! Замануха ничего не стоит в жизни. Надо быть добрым и щедрым - тогда народ потянется! Редактировалось 2 раз(а), последний 2021-07-24 21:11:22 |
|||
карма: 6 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Обиделся что ли?
Чего ради exe-ники выставлять? В чём фишка? |
|||
карма: 6 |
|
Ответов: 168
Рейтинг: 7
|
|||
Это замануха для халявщиков непонял разве?Переориентировался чувак на них.
Рюшечки понравились?!- плати мзду, Непонравились-гуляйте дальше. |
|||
карма: 1 |
|
Ответов: 5227
Рейтинг: 587
|
|||
flint2, который раз убеждаюсь что "пиз..ть не мешки таскать"
Это не порт каких либо компонентов, это собственная реализация на GDI+ направленная на замену руш-контролов Вся линейка доделана на 95% (завтра день рождения, думал набухаюсь, выложу.) Доделал трекбар. Добавил пару свойств MarkSize=Размер маркеров(диаметр)в пикселах|7|4 MarkStyle=Стиль маркеров|4|0|Line,Circle реализовал штатные методы [Methods] doPosition=Устанавливает позицию ползунка|1| doPosition2=Устанавливает позицию ползунка, но не вызывает событие onPosition|1| onPosition=Событие происходит всякий раз после перемещении ползунка|2| *onStart=Событие происходит всякий раз перед началом перетаскивания ползунка|2| *onStop=Событие происходит всякий раз после окончания перетаскивания ползунка|2| Position=Содержит значение свойства Position|3|1 демка в прищепке |
|||
карма: 4 |
| ||
файлы: 1 | Project370.zip [48.1KB] [473] |
Ответов: 2059
Рейтинг: 132
|
|||
andrestudio
(завтра день рождения, думал набухаюсь, выложу.) С днём рождения! это собственная реализация на GDI+ направленная на замену руш-контролов Конечно классно! Вопросов нет!......... flint2, который раз убеждаюсь что "пиз..ть не мешки таскать" Согласен. Уже месяц не могу доделать компоненты для профессиональной и многофункциональной нейронной сети. Сначала думал парой компонентов обойтись... То не удобно в работе, то того - сего не хватает... то лень. Редактировалось 1 раз(а), последний 2021-07-30 08:24:24 |
|||
карма: 6 |
|
Ответов: 5227
Рейтинг: 587
|
|||
flint2, flint2, привезли 5 литров чачи, завтра буду закусывать прямо с шампура , спасибо и тебе всех благ Редактировалось 2 раз(а), последний 2021-07-30 16:06:07 |
|||
карма: 4 |
|
Ответов: 2265
Рейтинг: 676
|
|||
andrestudio, С Днём рождения! Здоровья и всех благ! Пожелания здоровье особенно актуально при 5 литра |
|||
карма: 11 |
|
Ответов: 5227
Рейтинг: 587
|
|||
sla8a, sla8a, Спасибо, но я же не в одну каску, будут друзья, родственники, соседи. А чача зачётная (такого в магазине не продают, один и тот же однополчанин всегда при удобном случае посылает, "а варит и делает он сам, дай бог ему здоровья") Можешь выпить от души сколь угодно, на утро встал и опохмелятся не надо и отлёжки тоже не требуется, просто занимайся делами как обычно) так что беспокоится не стоит, но боюсь на даче я застряну на выходные |
|||
карма: 4 |
|
Ответов: 793
Рейтинг: 168
|
|||
andrestudio, Мои искренние поздравления.
|
|||
карма: 16 |
|
10