Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

Бегущая строка в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
1-1116825492
JetMan
2005-05-23 09:18
2005.06.06
Как динамически открыть файл?


4-1109896516
Шуршик
2005-03-04 03:35
2005.06.06
Запуск приложений из сервиса с правами не LocalService


1-1116849067
Igor.ru
2005-05-23 15:51
2005.06.06
TFrame


6-1111250666
Calm
2005-03-19 19:44
2005.06.06
Передача файла по модему без инета.


14-1116348987
___Nikolay
2005-05-17 20:56
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский