![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Анимация окна [Delphi, Windows]
Trible © (2007-10-31 05:24:00)Как сделать в КОЛ, чтобы при запуске приложения происходил эффект анимации главного окна - прозрачность плавно изменялась от полупрозрачного до непрозрачного?
Trible (2007-11-01 10:51:00) [21]
> Дмитрий К © (01.11.07 06:38) [5]
Ну чернеет форма при закрытии, сами убедитесь ...
Дмитрий К (2007-11-01 06:38:00) [22]А если так:
i := form.AlphaBlend - 1;
while i > 0 do
begin
form.AlphaBlend := i;
form.ProcessPaintMessages; // ProcessMessages;
dec(i);
{Sleep(10);}
end;
Trible (2007-11-01 04:58:00) [23]
> Compiler © (01.11.07 01:25) [3]
> Еще хороший способ.AnimateWindow(form.handle, 2000, AW_BLEND
> or AW_HIDE);
Да хотелось бы адаптировать [1], чтоб работало при закрытии формы. Не пойму почему форма чернеет при закрытии.
Compiler (2007-11-01 01:25:00) [24]Еще хороший способ.
AnimateWindow(form.handle, 2000, AW_BLEND or AW_HIDE);
Trible (2007-10-31 18:06:00) [25]
> Compiler © (31.10.07 12:43) [1]
> Сойдет?
Сойдет, спасибо. Вдогонку: а как обеспечить такую же анимацию при закрытии программы? Пробовал по OnClose для формы:
procedure TForm1.KOLFormClose(Sender: PObj);
var
i:integer;
begin
i:=255;
form.AlphaBlend:=255;
while i <> 0 do
begin
Form1.form.AlphaBlend := i;
Applet.ProcessMessages;
dec(i);
end;
end;
Так вот, при закрытии форма почему-то чернеет на секунду, а потом уже идет анимация (изменение аьфа-бленда). Как побороть?
Compiler (2007-10-31 12:43:00) [26]Сойдет?
procedure TForm1.KOLFormFormCreate(Sender: PObj);
var
i:integer;
begin
i:=0;
form.AlphaBlend:=0;
form.CreateWindow;
while i<> 255 do
begin
Form1.form.AlphaBlend := i;
Applet.ProcessMessages;
inc(i);
end;
end;