|
#1
|
||||
|
||||
Label у винампа
Здрасте форумяне помогите пожалуйста решить такую проблему :
Помогите зделать текст в Lable двигающимся как имена треков у винампа? |
#2
|
||||
|
||||
Кидаешь на форму один TLabel, и один TTimer. У таймера свойство Interval выставляешь на 1.
В обработчке события таймера пишешь: procedure TForm1.Timer1Timer(Sender: TObject); begin label1.Left:=label1.Left-1; if label1.Left=-1 then label1.Left:=655 end; end. Всё. |
#3
|
||||
|
||||
И ещё поставь обязательно у формы на которую ты кидаешь Label свойство AutoSize в false
|
#4
|
||||
|
||||
МОЙ ПРОШЛЫЙ КОД НЕПРАВИЛЬНЫЙ
ПРАВИЛЬНЫЙ КОД ЗДЕСЬ: procedure TForm1.Timer1Timer(Sender: TObject); begin label1.Left:=label1.Left-1; if label1.Left=-label1.Width then label1.Left:=Form1.Width end; end. |
#5
|
|||
|
|||
Мне кажеться немножко не верный подход.
Исходники в DelphiWorld видел, там смысл в том, что Label не двигаеться, а последняя буква Caption'a перемещаеться в начало и т.д. Тоже по таймеру. |
#6
|
|||
|
|||
Вот в принципе и все, у таймера ставишь 1000 интервал.
Код:
label1.Caption:=Copy(label1.Caption, length(label1.Caption),1) + copy(label1.Caption, 1 , length(label1.Caption)-1); Последний раз редактировалось Burka, 30.06.2007 в 19:48. |
#7
|
||||
|
||||
А мне кажется что у меня пример намного понятнее и удобнее
|
#8
|
||||
|
||||
Ладно, не будем ссориться, у нас у каждого удобный пример, главное что Label движется как у Winamp'a
|
#9
|
||||
|
||||
И главное что человеку помогли, я правильно говорю?
|
#10
|
|||
|
|||
Бее
Winny, мдя.
1) В винампе Label не движется! если присмотришься то это видно, что там реализовано как у меня. 2) Мой исходник занимает одну строчку, а у тебя 3 3) Что не понятного в перемещении последнего символа в начало строки? З.Ы, имхо вообще надо все делать универсальным. |
#11
|
||||
|
||||
спосибо вам огромное за помощь
|