| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Плавная отрисовка формы |
| Автор: Ramzes_ 4.1.2007, 00:40 | ||
| Здравствуйте! Задача следующая: - необходимо заставить форму появиться медленно - то есть из прозрачного оно должно плавно стать непрозрачным. Пробывал следующий код :
Но ничего не выходит - форма сразу становится в AlphaBlendValue:=255; Помогите решить задачу. Заранее спасибо. |
| Автор: Snowy 4.1.2007, 00:57 | ||
|
| Автор: Ramzes_ 4.1.2007, 15:47 |
| Спасибо Уважаемый Snowy - то что нужно. Объясните, почему в моем примере не выходит также??? |
| Автор: anwe 4.1.2007, 21:57 |
| Код, вобщем-то верный. Наверное, у тебя изначально в инспекторе объектов стоит AlphaBlend->True и AlphaBlendValue->255 (как установленные по умолчанию в новом проекте). Тогда строки 6 и 7 твоего кода обходятся. |
| Автор: Snowy 5.1.2007, 00:06 |
| Естественно. Всё уже придумано. Твой пример вполне рабочий. Вероятно используешь какую-то скиновую библиотеку, которая мешает менять канал. |
| Автор: Ramzes_ 5.1.2007, 20:20 |
| Никакую скиновую библиотеку я не использую - обычная виндовая форма. Но почему-то не работает. Подскажите пожалуйста почему? И выложите пожалуйста пример, если получится! |
| Автор: anwe 5.1.2007, 22:19 |
| Ramzes_, тебе же двое сказали: код рабочий. Изначально поставь AlphaBlend->False. |
| Автор: Ramzes_ 7.1.2007, 01:26 |
| anwe, - я наверное уже перепробывал и читать вроде умею, что люди пишут Хоть AlphaBlend:=False, хоть AlphaBlend:=true все равно форма появляется сразу. Так что пробуй у себя... а потом выкладывай что получилось. |
| Автор: anwe 7.1.2007, 21:31 |
Ну так и делал. Только делал это по нажатию кнопки. У меня получилось. |
| Автор: Ramzes_ 9.1.2007, 13:43 |
| Короче выяснил я почему у меня при создании формы - оная появлялась сразу - надо было записать вышеназванную процедуру в OnPaint-тогда все получается. Тема закрыта! Всем спасибо! |