Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

постепенное проявление формы

1.9K
03 декабря 2006 года
Solomon
70 / / 24.12.2003
Hi there,

у меня такая проблема - надо мне, чтобы при загрузке форма проявлялась постепенно на экране, AlphaBlend не дает то, что надо.

Где-то видел исходник кажется на API, но где именно, не помню, пробовал найти - но по причине долгого отсутствия формулирования на русском языке все запросы в поисковиках не дали результата )))))

Буду благодарен за помощь
10
03 декабря 2006 года
Freeman
3.2K / / 06.03.2004
Цитата: Solomon
у меня такая проблема - надо мне, чтобы при загрузке форма проявлялась постепенно на экране, AlphaBlend не дает то, что надо.


AnimateWindow c параметром AW_BLEND.

309
03 декабря 2006 года
el scorpio
1.1K / / 19.09.2006
Код:
TForm1::FormShow ()
{
// Обработчик на OnShow
this->AlphaBlendValue = 0;
this->AlphaBlend = true;
Timer1->Start(); // Запуск таймера
}

TForm1::Timer1Timer()
{
// Обработчик на OnTimer
if (this->AlphaBlendValue < 255)
{
  this->AlphaBlendValue ++;
  Timer1->Start();
}
else
{
  this->AlphaBlend = false;
  Timer1->Stop();
}
}

При открытии форма объявляется абсолютно прозрачной, и запускается таймер.
По таймеру прозрачность формы увеличивается на единицу, до тех пор, пока не станет максимальной.

P.S. Можно написать аналогичный код для закрытия формы
334
03 декабря 2006 года
HexEdit
809 / / 27.07.2006
А чем хуже AnimateWindow?
309
03 декабря 2006 года
el scorpio
1.1K / / 19.09.2006
Тем, что в моём примере можно использовать произвольный способ анимации - вплоть до последовательного отображения всех визуальных компонентов поотдельности (через свойство Controls)
Типа, сначала выводится пустая форма, потом начинают отображаться рамки панелей, групбоксов.....
1.9K
03 декабря 2006 года
Solomon
70 / / 24.12.2003
Цитата: el scorpio
Тем, что в моём примере можно использовать произвольный способ анимации - вплоть до последовательного отображения всех визуальных компонентов поотдельности (через свойство Controls)
Типа, сначала выводится пустая форма, потом начинают отображаться рамки панелей, групбоксов.....



Sir классно, вчера мучался с AnimateWindow, но проблема в том, что картинку помещенную на форму, он отображает потом, что мне совершенно не подходит

более точный код для BCB выглядит так

Код:
TForm1::FormShow ()
{
// Обработчик на OnShow
this->AlphaBlendValue = 0;
this->AlphaBlend = true;
Timer1->Enabled = true; // Запуск таймера
}

TForm1::Timer1Timer()
{
// Обработчик на OnTimer
if (this->AlphaBlendValue < 255)
{
  this->AlphaBlendValue ++;
  Timer1->Enabled = true;
}
else
{
  this->AlphaBlend = false;
  Timer1->Enabled = false;
}
}


еще раз спасибо
16K
04 декабря 2006 года
AntidotE
45 / / 26.09.2006
Цитата: el scorpio
Тем, что в моём примере можно использовать произвольный способ анимации - вплоть до последовательного отображения всех визуальных компонентов поотдельности (через свойство Controls)
Типа, сначала выводится пустая форма, потом начинают отображаться рамки панелей, групбоксов.....



А примерчик последовательного появления контролов можно?

309
04 декабря 2006 года
el scorpio
1.1K / / 19.09.2006
Пример для вывода объектов "первого уровня" интерфейса, тех, которые расположены непосредственно на форме.
 
Код:
TForm1::Timer1Timer()
{
if (fItem_Index < this->ControlCount)
   this->Controls [fItem_Index]->Visible = true;
else Timer1->Enabled = false;
}
16K
04 декабря 2006 года
AntidotE
45 / / 26.09.2006
хм... скорее всего мы друг друга не поняли...
хотелось бы, чтобы каждый контрол на форме появлялся так же постепенно, как и сама форма, например, после полного проявления формы... а не просто визибл = тру на каком-то этапе... ;)
Возможно ли это?
309
05 декабря 2006 года
el scorpio
1.1K / / 19.09.2006
Свойства "AlphaBlend" у компонентов формы нет, так что - только написанием собственного компонента.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог