Пятница, 03.05.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Как часто ви на этот сайт заходите?
Всего ответов: 159
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Система » Текст

Бегущий текст

Во многих популярных программах есть бегущий текст.
В этом уроке я покажу вам, как можно сделать простую реализацию бегущего текста ну например в About.

image_text_delphi

Итак, создаем новый 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, чтобы текст опять ехал вверх.

Скачать исходник

Получить ссылку на материал

Категория: Текст | Добавил: Барон (20.12.2011)
Просмотров: 1162 | Теги: Текст | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
ActiveX [10]
CORBA и COM [16]
Kol и MCK [23]
WinAPI [28]
Компоненты [27]
Работа с Bluetooth [4]
Железо [8]
Текст [18]
Разное [98]
Королевство Delphi © 2010-2024
Яндекс цитирования