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

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

SplashScreen [D6, WinXP]


DJ X ©   (2002-05-25 09:14:00) 

Я пытаюсь сделать сплэшскрин: объявил форму с ним главной, но теперь не могу скрыть его при появлении формы, которая и должна быть главной. Как быть?


Proton   (2002-05-25 14:39:00) [1]

Вот кусок DPR файла от моего курсовика
{$R IMGSPLASH.RES}
{$R REGION.RES}
{$R ICO&CUR.RES}
{$R *.RES}

Procedure MoveCenter(wnd : hwnd);
var rc:trect;
x,y : integer;
begin
GetWindowRect(wnd,rc);
x := GetSystemMetrics(SM_CXSCREEN);
y := GetSystemMetrics(SM_CYSCREEN);
MoveWindow (wnd,
(x - (rc.right - rc.left)) shr 1, //* x position */
(y - (rc.bottom - rc.top)) shr 1, //* y position */
rc.right - rc.left, //* x size */
rc.bottom - rc.top, //* y size */
TRUE); //* paint the window */
end;

Procedure RealignWindows;
var i:integer;
begin
for i:=0 to Application.ComponentCount -1 do
if Application.Components[i] is TForm then
with (Application.Components[i] as TForm) do
begin
MoveCenter(Handle);
Top := Application.MainForm.Height;
end;
end;

Procedure UpDateCursors(const Comp:TComponent);
var i:integer;
begin
with comp do
for i:=0 to ComponentCount-1 do
begin
if (Components[i] is TControl) then
with (Components[i] as TControl) do
if cursor = crdefault then Cursor:= 100;
if (Components[i] is TComponent) then
UpDateCursors(Components[i]);
end;
end;

begin
Form7 := TForm7.Create(Application);
form7.showtime := GetTickCount;
Form7.Show;
Form7.Update;

Application.Initialize;
Application.CreateForm(TDataModule2, DataModule2);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm9, Form9);
Application.CreateForm(TForm8, Form8);
Application.CreateForm(TQuickReportTime, QuickReportTime);
Application.CreateForm(TQuickReportSocGr, QuickReportSocGr);
Application.CreateForm(TQuickReportLoc, QuickReportLoc);
Application.CreateForm(TForm2, Form2);
Screen.Cursors[100] := LoadCursor(HInstance,"ARROW");
UpDateCursors(Application);

form7.showtime:=GetTickCount - form7.showtime;
if form7.showtime


Anatoly Podgoretsky   (2002-05-25 11:13:00) [2]

yozhik (25.05.02 10:59)
Откомпилировать пробовал?
Тебя как минимум должна отругать за эту строчку
until frmSplash.CloseQuery;


yozhik   (2002-05-25 10:59:00) [3]

1. Это кидаешь в dpr:
try
frmSplash := TfrmSplash.Create(Application);
frmSplash.Show;
frmSplash.Update;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
repeat
Application.ProcessMessages;
until frmSplash.CloseQuery;
frmSplash.Hide;
finally
frmSplash.Free;
end;
Application.Run;


2. На сплэшформе ставишь таймер и пишешь следуюющее:

procedure TfrmSplash.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := Not Timer1.Enabled;
end;

procedure TfrmSplash.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := False;
end;


3. В Сплэшформе: FormStyle=fsStayOnTop, она дожна быть в Available forms



1234567890   (2002-05-25 10:38:00) [4]


> | Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
> Форумы | ЧАТ | Кладовка | Сайты | Corba | DelphiGFX |
>
> Основная / Базы / Система / WinAPI / Сети / Мультимедиа
> / Алгоритмы / CORBA / Потрепаться / Журнал / rsdn.ru
>
>
> вернутьсяДата: 25.05.02 09:14
> Новинки книжного рынка
> Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая
> ветвь | форум | следующая ветвь »
>
>
> SplashScreen [D6, WinXP]
>
> DJ X © (25.05.02 09:14)
> Я пытаюсь сделать сплэшскрин: объявил форму с ним главной,
> но теперь не могу скрыть его при появлении формы, которая
> и должна быть главной. Как быть?
>
>
>
> Написать ответ


Наверх

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