Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Открытие новой формы [D5, Win95/98]


Ramzes ©   (2002-09-26 07:52:00) 

Добрый день Мастера! Есть Form1 и Form2.
Как открыть сначало Form2 затем через 10 секунд открыть Form1.
Form2.Visible:=False; и Form2.Visible:=True; не подходит и Showmodal тоже не подходит т.е.
Открывается заставка (Form2) затем таймер отсчитывает 10 секунд и запускается или начинает работать прога-(Form1)
КАК сделать, подскажите пожалуйсто Мастера,желательно небольшим кодом. Заранее благодарен!


Ramzes   (2002-09-26 08:18:00) [1]

> andrey_pst
OK !
Спасибо andrey_pst !!!


andrey_pst   (2002-09-26 08:08:00) [2]

1) Делай новую форму, сохрани ее (например в UnitSplash.pas)
2) В меню - Project/Options
Далее закладка Forms: перемести эту форму из окна Auto-Create Forms в Available Forms
3) Открой файл Project1.dpr
правь:
program Project1;

uses
Forms,
Unit1 in "Unit1.pas" {PagesDlg},
UnitAbout in "UnitAbout.pas" {FAbout},
UnitSplash in "UnitSplash.pas" {FSplash},

{$R *.RES}

begin
Application.Initialize;
FSplash := TFSplash.Create(Application); // создание заставки
FSplash.Show; // вывод заставки
FSplash.Update; // прорисовка заставки
Application.CreateForm(TPagesDlg, PagesDlg);
Application.CreateForm(TFAbout, FAbout);
FSplash.Hide; // удаление заставки
FSplash.Free; // удаление экземпляра объекта класса TFSplash
Application.Run;
end.

Я обычно заставки так делаю.
Зачем те 10 сек. ? Программа быстро запускается ? Так ведь хорошо-же :)
По моему это плохая практика - тормозить загрузку программы, бесит ведь - ты сидишь как дурень, а у тя на экране светится "Меня сделал ВАСЯ". Можно ведь меню или кнопку About сбацать.
Заставка - для того чтобы user знал, что программа загружается, паниковать не надо, надо ждать...


Bsl   (2002-09-26 08:05:00) [3]

От того, зачем тебе это нужно, зависит решение.

Например, можно попользовать SplashWindow из RXLib 2.75 - здесь можно вывести небольшую форму с некоторой информацией типа : "Гружусь".

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

Кстати, отсчет по таймеру, либо через GetTickCount с постоянным вызовом Application.ProcessMessages;


Наверх

Титульная страница Поиск, карта сайта Написать письмо