Добрый день.
Может кто знает, как сделть бегущую строку в StatusBar? Желательно "маятник", но в принципе любая сойдёт.
Если бы это был Label или ещё что, то там всё просто: в таймере прописать Label1.Left:=Label1.Left-5;
Но ведь у Строки состояния нет параметра Left?
Помогите, плз, если есть хоть какие-то мысли по этому поводу...
var add_str: boolean = true;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if add_str then begin
if StatusBar1.Canvas.TextWidth(' ' + StatusBar1.Panels[0].Text) > StatusBar1.Panels[0].Width
then add_str := false;
end
else begin
if StatusBar1.Panels[0].Text[1] <> ' '
then add_str := true;
end;
if add_str then
StatusBar1.Panels[0].Text := ' ' + StatusBar1.Panels[0].Text
else
StatusBar1.Panels[0].Text := Copy(StatusBar1.Panels[0].Text, 2, Length(StatusBar1.Panels[0].Text) - 1);
end;
volvo, Большое спасибо! Всё работает, только когда текст "доезжает" до правого края, он начинает дёргаться туда-сюда. Хотя по идее, должен ехать обратно.
Хм... Странно. Вот, если хочешь посмотреть, как себя ведет в моем приложении строка статуса (902Кб, кодек H.264): http://filekeeper.org/download/volvo877/statusbar.avi