Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Вниз

Caption у формы 


Romik   (2002-03-21 20:10) [0]

Здраствуйте Мастера!
Подскажите пожалуйста как сделать caption у формы анимированным,
т.е создать эффект движения текста.

Заранее благодарю ответивших.



Юрий Зотов   (2002-03-21 20:39) [1]

Например, исходный текст храним в строке, текущее начало - в целой переменной, а Caption формируем по таймеру исходя из этих данных.



Romik   (2002-03-21 20:41) [2]

>Юрий Зотов © (21.03.02 20:39)

Нельзя ли поподробнее - я начинающий программист.



Юрий Зотов   (2002-03-21 21:27) [3]

Вот возможный вариант, если что не устраивает - доработайте его.

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 22:44) [4]

>Юрий Зотов © (21.03.02 21:27)
Большое спасибо!!! Нечто подобное я и предполагал.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.019 c
14-312            Дмитрий_Б             2002-02-20 14:09  2002.04.01  
Пересылка файлов по ЛВС


1-231             Ivan_A                2002-03-20 16:30  2002.04.01  
как проверить что форма убита?


1-239             Zool                  2002-03-18 19:22  2002.04.01  
GetFileTime и SetFileTime


3-7               Malder                2002-03-05 19:23  2002.04.01  
Как отменить транзакцию в триггере ?


1-142             Zool                  2002-03-21 22:53  2002.04.01  
Ошибка