Инофо о программе при запуске

Ответить
Аватара пользователя
Galosh

Инофо о программе при запуске

Сообщение Galosh »

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

Re: Инофо о программе при запуске

Сообщение DimSher »

Galosh

Я бы делал так:

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

В ней конструируешь форму с необход. информацией и таймером. Выставляешь свойство Interval (для обьекта Timer) в миллисекундах (по вкусу Изображение ) и закрываешь форму. Всё.
Аватара пользователя
Megabizon

Re: Инофо о программе при запуске

Сообщение Megabizon »

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

Re: Инофо о программе при запуске

Сообщение Megabizon »

Galosh





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

Re: Инофо о программе при запуске

Сообщение Boss Linuxoid »

Dmitry Sher Так и сделал, пасибо.

Megabizon Не нашел... Изображение
Аватара пользователя
Galosh

Re: Инофо о программе при запуске

Сообщение Galosh »

Цитата:



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

Вернуться в «Программирование и базы данных»