Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2010, 14:57   #1
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию Проблема с OnActivate

Здравствуйте, у меня возникла следующая проблема. Есть форма. На ней растянут Имейдж. Для того, чтобы форма плавно появлялась был написан следующий код:

Procedure TForm1.FormCreate(Sender: TObject);
Begin
Form1.AlphaBlendValue:=0;
Form1.AlphaBlend:=True;
End;

Procedure TForm1.FormActivate(Sender: TObject);
Var i: Integer;
Begin
For i:=1 To 255 Do
Begin
Form1.AlphaBlendValue:=i;
Application.ProcessMessages;
End;
End;

Procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
Var i: Integer;
Begin
Form1.Enabled:=False;
For i:=254 DownTo 0 Do
Begin
Form1.AlphaBlendValue:=i;
Application.ProcessMessages;
End;
End;

Но тут возникла проблема. При первом открытии форма появляется то плавно, но сперва появляется только одна часть формы, а через пару секунд, открывается пропущенная часть. При последующих открытиях - все нормально. Потом я писал другой код тоже с он Активэйт - и был такой же прикол( Подскажите пожалуйста, как можно избежать появление формы частями или на какое событие можно поменять ОнАктивейт, чтобы добится плавного появления формы

У нас принято оформлять код специальным тэгом - при помощи кнопочки "#" (а не значка #).
Вы не знали? Почитайте правила раздела...
Модератор
Интересный проект по изучению английского:
Английский в формате путешествия по США

Последний раз редактировалось mihali4; 04.01.2010 в 15:24.
Dennis777 вне форума Ответить с цитированием
Старый 04.01.2010, 15:26   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Делайте по OnPaint.
mihali4 вне форума Ответить с цитированием
Старый 04.01.2010, 17:26   #3
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Цитата:
Сообщение от Dennis777 Посмотреть сообщение

У нас принято оформлять код специальным тэгом - при помощи кнопочки "#" (а не значка #).
Вы не знали? Почитайте правила раздела...
Модератор
Простите, не знал... Впредь буду внимательней
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 04.01.2010, 17:29   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А зачем такие длинные и непонятные сложности??? AnimateWindow никто не отменял.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 04.01.2010, 17:31   #5
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

А через он Пэинт оно так не рисует( Проэкт то запускается, но вообще полностью прозрачный фон...
Alex Cones, не подскажите как его юзать?)
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 04.01.2010, 17:35   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Поиск по форуму "AnimateWindow". Примеров сотни. К тому же анимация не только затухания, плавного появления, но и многие другие.
Читают MSDN.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 04.01.2010, 19:30   #7
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Большое спасибо) Анимєйт Виндов работает гораздо лучше, но в самом низу над пуском все равно остается кусочек серой формы((((
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойтись без события OnActivate? _Инженер_ Общие вопросы Delphi 4 01.10.2009 17:23
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37