Битовый образ должен загружаться из ресурса программы (подготовить файл ресурса можно при помощи утилиты Image Editor).

Рис. 1.39. Окно программы Бегущая строка

Бегущая строка.
Битовый образ загружается из ресурса. }
unit hscroll_;interface
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
.
type
TForml = class(TForm)
Timer: TTimer;
Buttonl: TButton;
procedure FormCreate(Sender: TObject);
procedure TimerTimer(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
private
I Private declarations }
public
{ Public declarations )
end;var
Forml: TForml;implementation{$R *.dfm}{$R hbaner.res} // файл ресурсов, в котором
// находится битовый образ, можно создать
// при помощи Image Editor{ Высота битового образа в файле ресурсов
не может быть меньше 32 пикселов }const
WB = 350; // ширина области вывода
// картинки на форме
ТР = 573; // период рисунка бегущей строкиvar
pic :TBitMap; // картинка — бегущая строка
sRect,dRect: TRect; // область-источник и область-приемник
t: integer;procedure TForml.FormCreate(Sender: TObject);
begin
pic := TBitMap.Create;
pic.LoadFromResourceName(HInstance,'BANER2'); // загрузить
// картинку
dRect := Bounds(0,0,WB,pic.Height); // область, в которой
// бежит строка,
sRect := Rect(0,0,TP,pic.Height); // отображаемая в данный
// момент область рисунка
t:=0;
end;// сигнал от таймера
procedure TForml.TimerTimer(Sender: TObject);
begin
Canvas.CopyRect(dRect,pic.Canvas,sRect); // отобразить часть
// картинки
inc(t);
if t = TP // длина ролика
then t:=0;
sRect := Bounds(t,0,WB,pic.Height) ; // следующий кадр
end;// щелчок на кнопке OK
procedure TForml.ButtonlClick(Sender: TObject);
begin
Forml.Close;
end;end.