Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: CL | DM;

Вниз

Бегущая строка в StatusBar   Найти похожие ветки 

 
Starcom   (2005-05-22 20:08) [0]

Как мне сделать бегущую строку в StatusBar?
Помогите кто может!
С Уважением Starcom! :-( Плиз...


 
Ученик   (2005-05-22 20:20) [1]

>Starcom   (22.05.05 20:08)  

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Label1.Caption := Copy(Label1.Caption, 2, MaxInt)
end;


 
Starcom   (2005-05-22 21:17) [2]

Спасибо!
Попробовал бежит!

procedure TForm1.Timer1Timer(Sender: TObject);
with StatusBar1 do
begin
 Panels[0].Text := Copy(Panels[0].Text,2,MaxInt);
end;

Но мне хотелось бы чтобы строка не прерывалась!

С Уважением Starcom! :-}


 
Ученик   (2005-05-22 21:37) [3]

>Starcom   (22.05.05 21:17) [2]
Label1.Caption := Copy(Label1.Caption, 2, MaxInt) + Copy(Label1.Caption, 1, 1)

Изначально добавить требуемое количество пробелов


 
Andy BitOff ©   (2005-05-23 00:42) [4]

Ну, это не красиво. Красиво попиксельно.


 
Eraser ©   (2005-05-23 00:49) [5]

Andy BitOff ©   (23.05.05 00:42) [4]

имхо не намного сложнее...

вот тут один товарисч просил сделать чтобы вообще плавный переход пикселей был... ;-)


 
Andy BitOff ©   (2005-05-23 01:22) [6]

А я, кстати, и не говорил, что сложно. Я говорил, что красивее. Сложности тут вообще не вижу.


 
Andy BitOff ©   (2005-05-23 02:35) [7]

Вот, минут 15. Не оптимизировал ничего, на скорую руку, так что прошу не пинать. Я не писал универсальный компонент =)

var
 Form1: TForm1;
 x:integer=0;
 PanelIndex:integer=0;
 Str:string="My ScrollBar Text bla-bla-bla";

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
 I: Integer;
 bmp:TBitMap;
 a:integer;
begin
 if (StatusBar1.Panels.Count<>0) and (StatusBar1.Panels.Count>=PanelIndex) then begin
   bmp := TBitMap.Create;
   try
     bmp.Width:=StatusBar1.Panels.Items[PanelIndex].Width;
     bmp.Height:=StatusBar1.Height;
     bmp.Canvas.Brush.Color:=StatusBar1.Color;
     bmp.Canvas.Pen.Color:=StatusBar1.Font.Color;
     bmp.Canvas.FillRect(StatusBar1.Canvas.ClipRect);
     if x=-bmp.Canvas.TextWidth(str) then x:=StatusBar1.Panels.Items[PanelIndex].Width;
     bmp.Canvas.TextOut(x,1,Str);
     dec(x);
     a:=0;
     for I:=0 to PanelIndex-1 do begin
       a:=a+StatusBar1.Panels.Items[i].Width;
     end;
     bitblt(StatusBar1.Canvas.Handle,a+3,3,bmp.Width-4,bmp.Height-4,bmp.Canvas.Handle,0,0,SRCCOPY);
   finally
     bmp.Free;
   end;
 end;
end;


 
Starcom   (2005-05-24 12:49) [8]

Das ist fantastish!

Спасибо всем кто откликнулся на мою просьбу...
А лично Ученику!
Но вариант от Andy BitOff ©, мне наиболее приемлим!

С Уважением Starcom! :-)


 
lmz ©   (2005-05-24 14:58) [9]

А как сделать чтобы текст двигался не справва на лево, а сверху вниз?


 
Andy BitOff ©   (2005-05-24 15:34) [10]


lmz ©   (24.05.05 14:58) [9]
А как сделать чтобы текст двигался не справва на лево, а сверху вниз?

Менять не х, а y. и проверять выход не по Width, а по Height.



Страницы: 1 вся ветка

Текущий архив: 2005.06.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.011 c
6-1111530471
ALex B.
2005-03-23 01:27
2005.06.06
NetUseAdd


14-1116415568
Смирнов Роман
2005-05-18 15:26
2005.06.06
SLOC метрики


4-1113768692
_Ramon_
2005-04-18 00:11
2005.06.06
Определение имени приложения, окно которого активно


1-1116847165
alex-drob
2005-05-23 15:19
2005.06.06
Запуск файла из памяти


14-1116335712
McSimm
2005-05-17 17:15
2005.06.06
Внимание! Сайт переезжает на новый хостинг.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский