Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Анимированное появление формы, Запуск как в 3DMark 
:(
    Опции темы
TroianOFF
  Дата 8.9.2003, 14:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Уважаемые программисты! Хочу сделать заставку к программе, чтобы при запуске форма всплывала как в 3DMark...(т.е. плавное появление формы). Подскажите как это можно реализоватьconfused.gif (желательно кодом)....
  Вверх
<Spawn>
Дата 8.9.2003, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Код
procedure TForm1.FormShow(Sender: TObject);
begin
AnimateWindow(Handle,1000,AW_BLEND);
end;


Как ни странно, но в справке Дельфи данная функция не описана, поэтому значения dwFlags посмотри в модуле Windows(зажми Ctrl и кликни на AW_BLEND).

Это сообщение отредактировал(а) <Spawn> - 8.9.2003, 14:40


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
TroianOFF
Дата 8.9.2003, 20:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо!

А как сделать так чтобы еще и рисунок на форме показывался?... а то он только чистую форму показывает, и форма теряет фокус при загрузке...
  Вверх
Kesh
Дата 8.9.2003, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 4
Всего: 54



Ну, самое быстрое через DX или OGl. Ведь насколько я понял, кроме эффектного появления от формы больше ничего и не требуется.


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
<Spawn>
Дата 8.9.2003, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Самое простое - это поместить на форму Image и использовать твой рисунок. Чтобы форма была в фокусе:
Код
procedure TForm1.FormShow(Sender: TObject);
begin
AnimateWindow(Handle,1000,AW_BLEND);
SetFocus;
end;



--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Unregistered
Дата 8.9.2003, 21:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А если с OGL не знаком, то по дргому нельзя...?
  Вверх
stab
Дата 8.9.2003, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



лучше будет так:

Код

procedure TForm1.FormShow(Sender: TObject);
begin
 AnimateWindow(Handle, 300, AW_BLEND or AW_ACTIVATE);
end;


Цитата
А как сделать так чтобы еще и рисунок на форме показывался?... а то он только чистую форму


похоже проблема в том, что дельфевые формы плохо обрабатывают сообщения WM_PRINT, WM_PRINTCLIENT.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
TroianOFF
Дата 9.9.2003, 19:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А вылечить можно как-нибудьconfused.gif
  Вверх
TroianOFF
Дата 10.9.2003, 00:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Нашел один способ ... Расскажу позже о нем! и он работает!!!
  Вверх
-Сергей-
Дата 26.10.2003, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 2.8.2003
Где: Россия

Репутация: нет
Всего: 1



Тут одна проблемка появилась: пока грузится прога использую Splash и в нем на FormShow стоит AnimateWindow(Handle, 500, AW_VER_POSITIVE);, а property position - poDesktopCenter. Сама проблема в следующем сначала начинается эффект, а потом форма перемещается на середину Рабочего стола.
Не могу добиться чтобы было наоборот.
--------------------
Для утвердительного ответа достаточно лишь одного слова - "да". Все прочие слова придуманы, чтобы сказать "нет".
PM MAIL WWW ICQ MSN   Вверх
<Spawn>
Дата 26.10.2003, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



-Сергей- А ты сам форму в центр поставь ) Вот, например, так(тока по идее нужно еще запрогить вариант, когда форма больше размеров разрешения):
Код
Left:=(Screen.Width-Width) div 2;
Top:=(Screen.Height-Height) div 2;
//После чего можешь спокойно делать AnimateWindow


Это сообщение отредактировал(а) <Spawn> - 26.10.2003, 18:12


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
-Сергей-
Дата 27.10.2003, 04:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 2.8.2003
Где: Россия

Репутация: нет
Всего: 1



Я подумывал об этом. Спасибо, <Spawn>
--------------------
Для утвердительного ответа достаточно лишь одного слова - "да". Все прочие слова придуманы, чтобы сказать "нет".
PM MAIL WWW ICQ MSN   Вверх
Kesh
Дата 26.8.2004, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 4
Всего: 54



Цитата
Самое простое - это поместить на форму Image и использовать твой рисунок. Чтобы форма была в фокусе:
Код
procedure TForm1.FormShow(Sender: TObject);
begin
AnimateWindow(Handle,1000,AW_BLEND);
SetFocus;
end;

Не работает... Рисунок не становится видимым... Как?..


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.