calloc |
Отправлено: 22.10.2005, 12:02 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
Привет народ. Усть такой пример:
Как сделать заставку(SplashScreen) для своей программы ?
Для начала, создадим новое окно, которое у нас и будет SplashScreen.
File->New->Form.
Новую форму перенесем в Aviable forms, для этого идем в Project->Options.
Дальше подключаем к Unit1 новую форму:
#include "Unit2.h"
После этого, на новую форму, помещаем компонент TTimer.
Для него пишем такой обработчик
void __fastcall TForm2::Timer1Timer(TObject *Sender)
{
Close();
}
Дальше, пишем обработчик события для главной формы OnCreate:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form2= new TForm2(this);
Form2->ShowModal();
Form2->Free();
}
Как сделать чтобы после закрытия Формы2 сразу появлялась Форма1??? |
|
vitavita |
Отправлено: 22.10.2005, 21:08 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 59
|
А свойство Visible Вам не поможет? |
|
BreakPointMAN |
Отправлено: 22.10.2005, 22:14 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 86
|
calloc, что именно у тебя не получается?
у меня этот пример работает...
|
|
Rius |
Отправлено: 24.10.2005, 06:06 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
CODE | //---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("UnitMain.cpp", FormMain);
USEFORM("UnitDataModule.cpp", DMMain); /* TDataModule: File Type */
USEFORM("UnitModuleEdit.cpp", FModuleEdit);
USEFORM("UnitSensorLoads.cpp", FSensorLoads);
USEFORM("UnitPartyEdit.cpp", FPartyEdit);
USEFORM("UnitOptions.cpp", FormOptions);
USEFORM("RThreadPanelFlowDisplay.cpp", FFlowDisplayForm);
USEFORM("UnitSplash.cpp", FormSplash);
//---------------------------------------------------------------------------
#include "UnitSplash.h"
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE mHandle=0;
mHandle = CreateEvent(NULL, FALSE, FALSE, "{0FA93D16-2656-4f2d-BC60-85C5F1F2CCDB}");
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
MessageBox(NULL,"Программа уже запущена!","Сообщение",MB_OK | MB_ICONINFORMATION);
return 0;
}
try
{
FormSplash = new TFormSplash(Application);
FormSplash->Show();
FormSplash->Update();
Application->Initialize();
Application->CreateForm(__classid(TFormMain), &FormMain);
Application->CreateForm(__classid(TDMMain), &DMMain);
Application->CreateForm(__classid(TFormOptions), &FormOptions);
Sleep(1000);
FormSplash->Close();
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
if(mHandle!=0)
CloseHandle(mHandle); // закрываем хэндл
return 0;
}
//---------------------------------------------------------------------------
|
|
|
|