Вверх ↑
Этот топик читают: Гость
Ответов: 58
Рейтинг: 0
#1: 2018-10-03 15:46:01 ЛС | профиль | цитата
Можно ли как нибудь сделать прогресс бар который бегает. То есть у него нету ни начала ни конца он просто бегает.
карма: 0

0
Ответов: 1926
Рейтинг: 172
#2: 2018-10-03 15:57:44 ЛС | профиль | цитата
Как вариант - поставить гифку, управлять ей позволяет компонент Gif. А по анимациям - огромное поле для творчества:




карма: 9
0
Ответов: 58
Рейтинг: 0
#3: 2018-10-03 16:27:49 ЛС | профиль | цитата
Спасибо) Но нельзя сделать такой прогресс бар только виндовсовский?

карма: 0

0
Ответов: 5227
Рейтинг: 587
#4: 2018-10-03 16:41:11 ЛС | профиль | цитата
если такой как тут http://forum.hiasm.com/getfile/38481 то просто. В коде добавляется стиль и пара сообщений на запуск и остановку. Ограничение - будет работать только со стилями т.е нужен манифест хотя бы наверно
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 58
Рейтинг: 0
#5: 2018-10-03 17:26:18 ЛС | профиль | цитата
andrestudio писал(а):
если такой как тут http://forum.hiasm.com/getfile/38481 то просто. В коде добавляется стиль и пара сообщений на запуск и остановку. Ограничение - будет работать только со стилями т.е нужен манифест хотя бы наверно


Вот как сделать такой прогресс бар?!
https://hkar.ru/VF14

карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#6: 2018-10-04 04:20:05 ЛС | профиль | цитата
VitiaCat писал(а):
Вот как сделать такой прогресс бар?!

Схема


Add(MainForm,2953706,189,140)
{
link(onCreate,4103976:doInitMARQUEE,[])
}
Add(ProgressBar,15560669,266,91)
{
Left=35
Top=25
Width=330
Height=40
ProgressColor=15780518
Point(Handle)
}
Add(StyleXP,7201581,189,98)
{
}
Add(InlineCode,4103976,273,154)
{
WorkPoints=#13:doInitMARQUEE|14:doStartMARQUEE|13:doStopMARQUEE|
DataPoints=#7:wHandle|5:Speed|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,Windows,Messages;|0:|5:const|29:PBS_MARQUEE = $08;|36:PBM_SETMARQUEE = WM_USER+10;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|15: wnd: Integer;|17: spd: Integer; |9: public|23: wHandle:THI_Event;|21: Speed:THI_Event;|59: procedure doInitMARQUEE(var _Data:TData; Index:word); |59: procedure doStartMARQUEE(var _Data:TData; Index:word);|63: procedure doStopMARQUEE(var _Data:TData; Index:word); |5: end;|0:|14:implementation|0:|36:procedure THiAsmClass.doInitMARQUEE;|5:begin|34: wnd := ToIntegerEvent(wHandle);|83: SetWindowLong (wnd, GWL_STYLE, (GetWindowLong (wnd, GWL_STYLE) or PBS_MARQUEE));|6:end; |0:|37:procedure THiAsmClass.doStartMARQUEE;|5:begin|35: spd := ToIntegerEvent(Speed); |44: SendMessage(wnd, PBM_SETMARQUEE, 1, spd);|4:end;|0:|36:procedure THiAsmClass.doStopMARQUEE;|5:begin|42: SendMessage(wnd, PBM_SETMARQUEE, 0, 0);|4:end;|0:|4:end.|
link(wHandle,15560669:Handle,[])
link(Speed,5918988:Text,[(286,131)(321,131)])
}
Add(VisualStrings,5918988,315,105)
{
Lines=#2:25|
}
Add(Button,13615320,189,182)
{
Left=145
Top=95
TabOrder=-1
Caption="Start"
link(onClick,4103976:doStartMARQUEE,[(235,188)(235,167)])
}
Add(Button,12616507,189,217)
{
Left=205
Top=95
TabOrder=-1
Caption="Stop"
link(onClick,4103976:doStopMARQUEE,[(242,223)(242,174)])
}

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#7: 2018-10-04 10:40:24 ЛС | профиль | цитата
nesco, я тебя не узнаю.

Редактировалось 1 раз(а), последний 2018-10-04 10:40:42
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#8: 2018-10-04 12:13:21 ЛС | профиль | цитата
Tad писал(а):
я тебя не узнаю

Не, ну а чо. Смену состояния контрола извне по-другому никак не сделаешь.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#9: 2018-10-04 15:39:16 ЛС | профиль | цитата
nesco, как думаешь, сколько HiAsm-мовцев смогут написать такой код, если им с молодых ногтей внушать, что IC - это плохо ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#10: 2018-10-04 16:07:46 ЛС | профиль | цитата
Tad писал(а):
nesco, как думаешь, сколько HiAsm-мовцев смогут написать такой код, если им с молодых ногтей внушать, что IC - это плохо ?

Да там сложного-то ничего нет. Немного полазить по неэту и можно что-то подобное состряпать. Вот дальнейшее продолжение темы, уже на штатниках. Тут не надо менять стиль, просто нужно подать необходимое сообщение окну:

Схема


Add(MainForm,2953706,238,77)
{
Position=1
link(onCreate,8304252:doText,[])
}
Add(ProgressBar,15560669,378,91)
{
Left=35
Top=25
Width=330
Height=40
ProgressColor=15780518
Point(Handle)
}
Add(StyleXP,7201581,238,35)
{
}
Add(RadioButton,8146614,231,161)
{
Left=145
Top=80
Width=90
TabOrder=-1
Selected=0
Caption="Normal"
link(onSelect,9146096:doWork2,[])
}
Add(RadioButton,11210444,231,196)
{
Left=145
Top=105
Width=90
TabOrder=-1
Caption="Error"
link(onSelect,9146096:doWork3,[(277,202)(277,174)])
}
Add(RadioButton,3533996,231,231)
{
Left=145
Top=130
Width=90
TabOrder=-1
Caption="Pause"
link(onSelect,9146096:doWork4,[(284,237)(284,181)])
}
Add(ChanelToIndex,9146096,308,154)
{
Count=4
link(onIndex,7867762:doSendMessage,[])
}
Add(VisualStrings,8304252,308,91)
{
Lines=#2:50|
Point(doText)
Point(onText)
link(onText,15560669:doPosition,[])
}
Add(SendMessage,7867762,385,154)
{
Point(Message)
link(Handle,15560669:Handle,[])
link(Message,6633795:Text,[(412,131)(433,131)])
}
Add(VisualStrings,6633795,427,105)
{
Lines=#4:1040|
Point(doText)
Point(onText)
}
карма: 22

0
Ответов: 58
Рейтинг: 0
#11: 2018-10-04 16:48:19 ЛС | профиль | цитата
nesco, спасибо!
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#12: 2018-10-05 00:28:04 ЛС | профиль | цитата
Вот новый релиз штатного ProgressBar-а с плюшками. Пока обновить не могу, только могу выложить для проверки
карма: 22

0
файлы: 1ProgressBar_120.zip [2.2KB] [515]
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)