Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Инофо о программе при запуске (http://forum.oszone.net/showthread.php?t=30482)

Galosh 25-05-2003 12:25 208824

Короче нужно сделать, что при запуске программы выводилось окошечко(как допустим при запуске Ворда) в котором была информация о программе( тоесть что это и зачем) Чтоб заставка посветила секунды 2 и исчезла, после этого запускалась сама программа. Не знаю как это сделать. Пытался делать чтоб заставка была как бы главной формой и через переод времени Form1->visible=false; а потом вызывалсь доп. форма. Но это не то, нужно чтоб она закрывалась, а не скрывалась из виду. Помогите люди добрые хоть какимито намеками(можна с кусочками кода :) ). Заранее благодарен.

DimSher 26-05-2003 05:29 208825

Galosh
Я бы делал так:
при запуске главная форма делается скрытой (Visible:=false) и  на событие Form.Сreate пишешь процедуру.
В ней конструируешь форму с необход. информацией и таймером. Выставляешь свойство Interval (для обьекта Timer) в миллисекундах (по вкусу :biggrin: ) и закрываешь форму. Всё.

Megabizon 26-05-2003 08:23 208826

Если пишешь на Билдере, смотри пример в ...\Examples\DB Tasks\MastApp. Такое окно называется SplashScreen. :biggrin:

Boss Linuxoid 26-05-2003 19:24 208827

Galosh


Не забудь присвоить етому окошку borderstyle:=bsnone;


Galosh 27-05-2003 00:26 208828

Dmitry Sher Так и сделал, пасибо.
Megabizon Не нашел... :(

Megabizon 27-05-2003 09:32 208829

Цитата:

Megabizon Не нашел...
Не нашел что? Пример или форму в примере?
Кратенько это выглядит так:
Создаешь форму, устанавливашь стиль, например, как сказал XXBossXX. Делаешь эту форму Available forms в Project->Options, в срр проекта добавляешь код (там где функция Winmain)
Код:


#include "splash.h"// прописываешь сам
 
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
 * * try
 * * {
 * * * SplashForm = new TSplashForm(Application);//Создаешь рекламное окно
 * * * SplashForm->Show();//Показываешь
 * * * SplashForm->Update();//Обновляешь
 * * * Application->Initialize();
 * * * Application->CreateForm(__classid(TMainForm), &MainForm);
 * * * .......... // тут создаются другие формы (если есть таковые)
 * * * SplashForm->Hide();//Прячешь
 * * * SplashForm->Close();//Прибиваешь
 * * * Application->Run();
 * }
 * catch (Exception &exception)
 * {
 * * * Application->ShowException(&exception);
 * }
 * * * return 0;
}

PS. Чем мне нравиться этот метод, что при таком создании окна оно закроется перед показом главного. Можно делать и по таймеру, но здесь есть маленькое но... На слишком "шустрых" машинах может получиться так, что главная форма у же отобразилась, а Сплэш-окно еще висит, а на медленных наоборот окно может закрыться а главное появиться только через пару секунд. Хотя это дело вкуса какой ты способ выберешь. И тот и другой способ вполне нормальные, дело за тобой.


Время: 11:29.

Время: 11:29.
© OSzone.net 2001-