![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Эффекты появления [D7, XP]
Ultimate © (2008-02-20 15:40:00)Думаю, это знают не все... И я в том числе...
Как-нибудь можно сделать эффект появления Формы программы после её запуска? К примеру запускаю файл, а он чтобы появился к примеру из ничего, медленно (ну например, задействовать эффект прозрачности, который при запуске равен 0, а после там 5-ти секунд 230?
{RASkov} (2008-02-22 10:38:00) [1]> [25] Ultimate © (22.02.08 09:55)
> где нить можно про него что найти?
Можно.... AnimateWindow + Гугл
МСДН
Ultimate (2008-02-22 09:55:00) [2]про AnimateWindow(Handle,1000,16) я ваще ниче не знаю... где нить можно про него что найти?
Ultimate (2008-02-22 09:53:00) [3]
> Бегущий человек © (21.02.08 23:42) [22]
> А так?
> > procedure TForm1.FormCreate(Sender: TObject);
> > var i:byte;
> > begin
> > form1.alphablend:=true;
> > for i:=1 to 255 do
> > begin
> > form1.alphablendvalue:=i;
> > Refresh
> > sleep(10);
> > end;
> > end;
также...
а проAnimateWindow(Handle,1000,16)пробовал, но он будто ваще не пашет... либо непонимаю куда его совать... совал на oncreate и на onactivate... но окно сначала просто отсутсвует и потом резко появляется...
homm (2008-02-22 07:06:00) [4]> [22] Бегущий человек © (21.02.08 23:42)
Зачем что-то еще, если есть [6]. Хватить дурью маиться.
Бегущий человек (2008-02-21 23:42:00) [5]А так?
> procedure TForm1.FormCreate(Sender: TObject);
> var i:byte;
> begin
> form1.alphablend:=true;
> for i:=1 to 255 do
> begin
> form1.alphablendvalue:=i;
> Refresh
> sleep(10);
> end;
> end;
Ultimate (2008-02-21 19:34:00) [6]
> MOO (21.02.08 14:23) [15]
>
> > я сделан несколько по корявому
>
> Сожалею =)
ну это опечатка =)
я сделал несколько по корявому... =)
DArk (2008-02-21 19:28:00) [7]Угу, окно пустое, только активный компонент, у меня например Edit
@!!ex (2008-02-21 19:03:00) [8]> [13] KilkennyCat © (21.02.08 13:45)
Почему?
P.S.
Собственно я хотел написать почему... но в процессе написания пришла мысль, что причин как бы и нет.... например, при установке прозрачности вызывается SetWindowLong, стиль у окна WS_VISIBLE? соответственно вызов этой функции повлечет за собой появление окна, еще ДО вызова Application.Run. Другое дело, что сообщения не обрататываюся, поэтому окно должно быть пустым....
ЪХотя это всего лишь теория, лезть в генофонд и проверять - нет никакого желания.
bagos (2008-02-21 18:29:00) [9]
> {RASkov} © (20.02.08 17:43) [6]
+1 :)
AnimateWindow(Handle,1000,16)
KilkennyCat (2008-02-21 18:28:00) [10]> [15] MOO (21.02.08 14:23)
:)))) да....
DArk (2008-02-21 18:18:00) [11]У меня тож не работает.. Мож кто нормальный вариант предложит?
MOO (2008-02-21 14:23:00) [12]
> я сделан несколько по корявому
Сожалею =)
{RASkov} (2008-02-21 13:51:00) [13]> [13] KilkennyCat © (21.02.08 13:45)
> зуб даю,
А смайл зачем поставил? ;)
KilkennyCat (2008-02-21 13:45:00) [14]> [12] Ultimate © (21.02.08 13:03)
зуб даю, у меня работать не будет, хотя у меня ХP ;)
Ultimate (2008-02-21 13:03:00) [15]эта функция работает, я сделан несколько по корявому, но всеже... Поставил значение Transparent формы 0, и по активации формы (а активируется сразу после запуска прописал этот скрипт... так работает...)
Ultimate (2008-02-21 12:58:00) [16]
> Вредитель © (20.02.08 18:03) [7]
> procedure TForm1.FormCreate(Sender: TObject);
> var i:byte;
> begin
> form1.alphablend:=true;
> for i:=1 to 255 do
> begin
> form1.alphablendvalue:=i;
> sleep(10);
> end;
> end;
Как ни странно, но не работает... хотя вроде и код нормальный... Выполняется цикл, с ограничением в 10 милисекунд, каждое действие... Должно работать, но окно просто не окрывается в течении всего этого времени (255x10=2,5 секунды) и потом резко появляется :(
homm (2008-02-20 21:47:00) [17]> [6] {RASkov} © (20.02.08 17:43)
+1
Amoeba (2008-02-20 19:18:00) [18]Удалено модератором
Примечание: и не цитировать...
Alexander (2008-02-20 18:05:00) [19]Удалено модератором
Примечание: мат
Вредитель (2008-02-20 18:03:00) [20]procedure TForm1.FormCreate(Sender: TObject);
var i:byte;
begin
form1.alphablend:=true;
for i:=1 to 255 do
begin
form1.alphablendvalue:=i;
sleep(10);
end;
end;