|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.01.2010, 14:57 | #1 |
Форумчанин
Регистрация: 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. |
04.01.2010, 15:26 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Делайте по OnPaint.
|
04.01.2010, 17:26 | #3 |
Форумчанин
Регистрация: 06.11.2009
Сообщений: 203
|
Простите, не знал... Впредь буду внимательней
Интересный проект по изучению английского:
Английский в формате путешествия по США |
04.01.2010, 17:29 | #4 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
А зачем такие длинные и непонятные сложности??? AnimateWindow никто не отменял.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
04.01.2010, 17:31 | #5 |
Форумчанин
Регистрация: 06.11.2009
Сообщений: 203
|
А через он Пэинт оно так не рисует( Проэкт то запускается, но вообще полностью прозрачный фон...
Alex Cones, не подскажите как его юзать?)
Интересный проект по изучению английского:
Английский в формате путешествия по США |
04.01.2010, 17:35 | #6 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Поиск по форуму "AnimateWindow". Примеров сотни. К тому же анимация не только затухания, плавного появления, но и многие другие.
Читают MSDN.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
04.01.2010, 19:30 | #7 |
Форумчанин
Регистрация: 06.11.2009
Сообщений: 203
|
Большое спасибо) Анимєйт Виндов работает гораздо лучше, но в самом низу над пуском все равно остается кусочек серой формы((((
Интересный проект по изучению английского:
Английский в формате путешествия по США |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обойтись без события OnActivate? | _Инженер_ | Общие вопросы Delphi | 4 | 01.10.2009 17:23 |
Проблема с рамами/Проблема с ЖД | DRAGGER | Компьютерное железо | 6 | 04.01.2009 23:37 |