Вверх ↑
Этот топик читают: Гость
Ответов: 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
Ответов: 2059
Рейтинг: 132
#2: 2021-07-24 21:01:49 ЛС | профиль | цитата
andrestudio, выё-шся, как мужа на стекле?
Где компонент?
Я тоже могу показывать конечный результат.
Хочешь воспитать? То, что нам было по плечу, то теперь им похрену!

Замануха ничего не стоит в жизни. Надо быть добрым и щедрым - тогда народ потянется!

Редактировалось 2 раз(а), последний 2021-07-24 21:11:22
карма: 6

0
Ответов: 2059
Рейтинг: 132
#3: 2021-07-26 13:27:40 ЛС | профиль | цитата
Обиделся что ли?
Чего ради exe-ники выставлять?
В чём фишка?
карма: 6

0
Ответов: 168
Рейтинг: 7
#4: 2021-07-27 20:44:19 ЛС | профиль | цитата
Это замануха для халявщиков непонял разве?Переориентировался чувак на них.
Рюшечки понравились?!- плати мзду,
Непонравились-гуляйте дальше.
карма: 1

0
Ответов: 5227
Рейтинг: 587
#5: 2021-07-30 05:21:27 ЛС | профиль | цитата
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
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1Project370.zip [48.1KB] [473]
Ответов: 2059
Рейтинг: 132
#6: 2021-07-30 08:23:52 ЛС | профиль | цитата
andrestudio
(завтра день рождения, думал набухаюсь, выложу.)

С днём рождения!

это собственная реализация на GDI+ направленная на замену руш-контролов
.........
Конечно классно! Вопросов нет!

flint2, который раз убеждаюсь что "пиз..ть не мешки таскать"

Согласен. Уже месяц не могу доделать компоненты для профессиональной и многофункциональной нейронной сети.
Сначала думал парой компонентов обойтись... То не удобно в работе, то того - сего не хватает... то лень.

Редактировалось 1 раз(а), последний 2021-07-30 08:24:24
карма: 6

0
Ответов: 5227
Рейтинг: 587
#7: 2021-07-30 16:05:01 ЛС | профиль | цитата
flint2,
flint2, привезли 5 литров чачи, завтра буду закусывать прямо с шампура , спасибо и тебе всех благ

Редактировалось 2 раз(а), последний 2021-07-30 16:06:07
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 2265
Рейтинг: 676
#8: 2021-07-30 16:32:18 ЛС | профиль | цитата
andrestudio,
С Днём рождения! Здоровья и всех благ! Пожелания здоровье особенно актуально при 5 литра
карма: 11

0
Ответов: 5227
Рейтинг: 587
#9: 2021-07-30 17:18:03 ЛС | профиль | цитата
sla8a,
sla8a, Спасибо, но я же не в одну каску, будут друзья, родственники, соседи. А чача зачётная (такого в магазине не продают, один и тот же однополчанин всегда при удобном случае посылает, "а варит и делает он сам, дай бог ему здоровья") Можешь выпить от души сколь угодно, на утро встал и опохмелятся не надо и отлёжки тоже не требуется, просто занимайся делами как обычно) так что беспокоится не стоит, но боюсь на даче я застряну на выходные
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 793
Рейтинг: 168
#10: 2021-07-31 10:13:38 ЛС | профиль | цитата
andrestudio, Мои искренние поздравления.
карма: 16

0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)