![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Caption у формы [D6, Win95/98]
Romik © (2002-03-21 20:10:00)Здраствуйте Мастера!
Подскажите пожалуйста как сделать caption у формы анимированным,
т.е создать эффект движения текста.
Заранее благодарю ответивших.
Romik (2002-03-21 22:44:00) [1]>Юрий Зотов © (21.03.02 21:27)
Большое спасибо!!! Нечто подобное я и предполагал.
Юрий Зотов (2002-03-21 21:27:00) [2]Вот возможный вариант, если что не устраивает - доработайте его.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Edit1: TEdit;
Button1: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
FPos: integer;
FCaption: string;
public
procedure SetNewCaption(const Value: string);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.SetNewCaption(const Value: string);
begin
if FCaption <> Value then
begin
Timer1.Enabled := False;
FCaption := Value;
FPos := 0;
Caption := FCaption;
Timer1.Enabled := True
end
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
L: integer;
S: string;
begin
Timer1.Enabled := False;
try
L := Length(FCaption);
if FPos = L then FPos := 0;
Inc(FPos);
S := Copy(FCaption, FPos, L - FPos + 1);
if FPos > 1 then S := S + " " + Copy(FCaption, 1, FPos - 1);
Caption := S
finally
Timer1.Enabled := True
end
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetNewCaption(Edit1.Text)
end;
end.
Romik (2002-03-21 20:41:00) [3]>Юрий Зотов © (21.03.02 20:39)
Нельзя ли поподробнее - я начинающий программист.
Юрий Зотов (2002-03-21 20:39:00) [4]Например, исходный текст храним в строке, текущее начало - в целой переменной, а Caption формируем по таймеру исходя из этих данных.