C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Splash Screen, Знаю, что была такая тема, но не нашел.
exp
Отправлено: 17.11.2004, 13:24


Мастер участка

Группа: Участник
Сообщений: 304



Нужно сделать Splash Screen пока создаются формы.

Где-то по сайту видел раньше, но не смог найти. Помогите подалуйста.
Rius
Отправлено: 17.11.2004, 14:56


Мастер участка

Группа: Участник
Сообщений: 321



Добавляешь форму в проект, в свойствах проекта (Ctrl+Shift+F11) переводишь её из AutoCreate в Available.
В cpp файле проекта Project1.cpp пишешь что-нибудь типа этого (самое главное здесь — FormSplash):
CODE
//---------------------------------------------------------------------------

#include "vcl.h"
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("UnitMain.cpp", FormMain);
USEFORM("UnitRoads.cpp", FormRoads);
USEFORM("UnitStantions.cpp", FormStantions);
USEFORM("UnitAddMarsh.cpp", FormAddMarsh);
USEFORM("UnitEditMarsh.cpp", FormEditMarsh);
USEFORM("UnitAddTrain.cpp", FormAddTrain);
USEFORM("UnitAddVagon.cpp", FormAddVagon);
USEFORM("UnitDelVagon.cpp", FormDelVagon);
USEFORM("UnitAddPass.cpp", FormAddPass);
USEFORM("UnitPassList.cpp", FormPassList);
USEFORM("UnitFindPass.cpp", FormFindPass);
USEFORM("UnitSplash.cpp", FormSplash);
USEFORM("UnitCalend.cpp", FormCalend);
USEFORM("UnitFindTrain.cpp", FormFindTrain);
//---------------------------------------------------------------------------
#include "UnitSplash.h"
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
 DWORD Style=GetWindowLong(Application->Handle, GWL_EXSTYLE);
 Style|=WS_EX_TOOLWINDOW;
 SetWindowLong(Application->Handle, GWL_EXSTYLE, Style);
       try
       {
                FormSplash = new TFormSplash(Application);
                FormSplash->Show();
                FormSplash->Update();
                Application->Initialize();
                FormSplash->Label->Caption = "Создание главного окна...";
                FormSplash->Update();

                Application->HelpFile = "";
                Application->Title = "БД Билеты";
                Application->CreateForm(__classid(TFormMain), &FormMain);
                FormSplash->Label->Caption = "Создание окна календарей...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormCalend), &FormCalend);
                FormSplash->Label->Caption = "Железные дороги...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormRoads), &FormRoads);
                FormSplash->Label->Caption = "Раздельные станции...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormStantions), &FormStantions);
                FormSplash->Label->Caption = "Добавление маршрутов...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormAddMarsh), &FormAddMarsh);
                FormSplash->Label->Caption = "Редактирование маршрутов...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormEditMarsh), &FormEditMarsh);
                FormSplash->Label->Caption = "Добавление поездов...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormAddTrain), &FormAddTrain);
                FormSplash->Label->Caption = "Добавление вагонов...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormAddVagon), &FormAddVagon);
                FormSplash->Label->Caption = "Удаление вагонов...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormDelVagon), &FormDelVagon);
                FormSplash->Label->Caption = "Добавление пассажиров...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormAddPass), &FormAddPass);
                FormSplash->Label->Caption = "Список пассажиров...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormPassList), &FormPassList);
                FormSplash->Label->Caption = "Поиск пассажиров...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormFindPass), &FormFindPass);
                FormSplash->Label->Caption = "Поиск поездов...";
                FormSplash->Update();
                Application->CreateForm(__classid(TFormFindTrain), &FormFindTrain);

                FormSplash->Label->Caption = "Запуск...";
                FormSplash->Update();
                FormSplash->Close();
                delete FormSplash;
                Application->Run();
       }
       catch (Exception &exception)
       {
                Application->ShowException(&exception);
       }
       catch (...)
       {
                try
                {
                        throw Exception("");
                }
                catch (Exception &exception)
                {
                        Application->ShowException(&exception);
                }
       }
       return 0;
}
//---------------------------------------------------------------------------



Отредактировано Rius — 17/11/2004, 18:01
Gedeon
Отправлено: 17.11.2004, 14:58


Ветеран

Группа: Модератор
Сообщений: 1742



https://rxlib.ru/forums/index.php?ac...874eff02bd04ac6
olegenty
Отправлено: 17.11.2004, 15:38


Ветеран

Группа: Модератор
Сообщений: 2412



а самое смешное, что это было у тебя под носом — прямо в Examples к билдеру smile.gif
exp
Отправлено: 17.11.2004, 18:33


Мастер участка

Группа: Участник
Сообщений: 304



Olegenty, спасибо, но под носом это не лежало. Билдер кастрированный. Без хелпа и екзампелов.
olegenty
Отправлено: 17.11.2004, 18:48


Ветеран

Группа: Модератор
Сообщений: 2412



пардоны, молчу, как рыба об лёд smile.gif

Вернуться в Вопросы программирования в C++Builder