Delphi уроки - бегущий текст
Во многих популярных программах есть бегущий текст.
В этом уроке я покажу вам, как можно сделать простую реализацию бегущего текста ну например в About.
Итак, создаем новый Delphi проект. Переходим в окно кода, и после ключевого слова var дописываем:
bm:TBitmap;x,y:Integer;
Потом опять, переходим на форму, и кидаем компонент TTimer (вкладка system). Свойство Enabled ставим в значение false, а в свойстве interval таймера ставим значение 20.
Далее, создаем обработчик событий OnCreate на форме. В котором прописываем следующий код:
x:=Form1.width/2; //текст будет выводиться посредине формы
y:=Height+50; //чтобы текст выводился не сразу
bm:=TBitmap.Create; //создаем объект TBitmap
bm.Width:=width; //ширина как у формы
bm.height:=height; //высота как у формы
bm.PixelFormat:=pf32bit; //32 битный режим изображения
Canvas.Font.Name:='Times New Roman'; //делаем шрифт Times New Roman
bm.Canvas.Brush.Color:= $004F4F52; //серый цвет фона bitmap
bm.Canvas.FillRect(bm.Canvas.ClipRect); //делаем, bitmap стал весь серый
timer1.Enabled:=True; //включаем таймер
Далее создаем, обработчик событий OnTimer у таймера и пишем туда следующий код:
y:=y-1;
if y=-200 then y:=height+10;
with bm do begin
Canvas.Font.Color:=$000576DC; //делаем цвет оранжевым
Canvas.TextOut(x-10,y, 'Имя программы:');
Canvas.Font.Color:=clWhite;
Canvas.TextOut(x,y+15, 'Автор: Имя Автора');
Canvas.Font.Color:=$000576DC; //делаем цвет оранжевым
Canvas.TextOut(x-10,y+30,'Тестеры: ');
Canvas.Font.Color:=clWhite;
Canvas.TextOut(x,y+45,'Имя тестера');
Canvas.TextOut(x,y+60,'Имя тестера');
Canvas.TextOut(x,y+75,'Имя тестера');
Canvas.Font.Color:=$000576DC; //делаем цвет оранжевым
Canvas.TextOut(x-10,y+90,'Спасибо: ');
Canvas.Font.Color:=clWhite;
Canvas.TextOut(x,y+105,'Имя');
Canvas.TextOut(x,y+120,'Имя');
Canvas.TextOut(x,y+135,'Имя');
Canvas.TextOut(x,y+150,'Имя');
Canvas.Font.Color:=$000576DC; //делаем цвет оранжевым
Canvas.TextOut(x-10,y+165,'Автор.Год');
Canvas.TextOut(x-10,y+180,' ');
end;
Canvas.Draw(0,0,bm); //вырисовываем на форме объект Bitmap
Вот и все, осталось только объяснить несколько технических моментов в этом примере.
Так как это самый простой пример, у него могут возникать ошибки. Например, хвост какой ни будь буквы растягивается. Это можно устранить пробелами. Следующее:
if y=-200 then y:=height+10;
это означает, что если текст вышел вверх на высоту -200 пикселей, то значение y будет высота формы+10, чтобы текст опять ехал вверх.
P.S. Хотите вперед всех остальных посетителей сайта получать свежие Видео уроки, Аудио подкасты, статьи по Delphi.
Участвовать в конкурсах и постепенно вливаться в нашу команду ?!
Тогда прямо сейчас подписывайтесь на бесплатную мультимедийную рассылку сайта delphiexpert.ru
Нас уже больше чем 3500 человек ! Подписаться
Похожие материалы
- Delphi исходники - поиск кратчайшего пути в лабиринте
- Исходник игры Солитер
- Delphi уроки - Drag&Drop, перетаскивание строк в компоненте DBGrid
- Delphi урок - Невидимая форма с видимыми компонентами
- Видео урок - Delphi и MySql, подключение
Последние из рубрики
- Delphi & Bass. Эффект затухания звука
- Delphi изменяем миниатюру программы в Windows 7
- Работа с DLL библиотеками