Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > КАК ОТКРЫТЬ ФОРМУ ПРИ ЗАПУСКЕ ПРИЛОЖЕНИЯ


Автор: Гость_joker 15.8.2003, 19:04
У МЕНЯ 2 ФРМЫ А МНЕ НАДО ЧТОБЫ ФОРМА 2 ЗАПУСКАЛАСЬ САМА ПРИ ЗАПУСКЕ ПРИЛОЖЕНИЯ КАК SHOW MODAL

Автор: &-ray 15.8.2003, 19:15
выложи таймер на главную форму с интервалом в несколько миллисекунд и enabled:=true

в обработчике timerontimer напиши

timer.enabled:=false;
form2.showmodal;

Автор: <Spawn> 15.8.2003, 19:18
А можно просто в OnShow первой формы поставить Form2.ShowModal;

Автор: <Spawn> 15.8.2003, 19:28
Хотя не совсем так) Я не сразу подумал. Сначала будет отображена вторая форма, а лишь при ее закрытии появится первая. Для правильного отображения нужно в OnActivate поместить код.

Автор: p0s0l 15.8.2003, 20:13
Предложенные выше способы покажут сразу обе формы, модальной будет вторая.
А если тебе надо, чтобы открывалась только вторая форма, то просто зайди в меню
Project->Options, вкладка Forms, выбери в Main Form твою вторую форму...

Автор: Vit 15.8.2003, 20:56
procedure TForm1.FormActivate(Sender: TObject);
begin
onActivate:=nil;
Form2.showmodal;
end;


Автор: 0FF 15.8.2003, 21:06
Да не мужики есть способ намного проще:

В свойсве Формы1 поставить Visible:=False;
а в Events Form2.showmodal;

Автор: <Spawn> 15.8.2003, 21:34
0FF Вряд ли это поможет) Если идти таким путем, то нужно поставить
Код
procedure TForm1.FormCreate(Sender: TObject);
begin
Visible:=False;
Application.ShowMainForm:=False;
try
Form2:=TForm2.Create(Self);
Form2.ShowModal;
finally
FreeAndNil(Form2);
end;
end;

Автор: <Spawn> 15.8.2003, 21:39
Хм сдесь, по моему, какой то глюк: Если програмно делать Visible:=False; с Application.ShowMainForm:=False то форма все равно отображается(если в инспекторе у нее стояло Visible=True). Если же в инспекторе стразу выставить Visible=False и потом сделать Application.ShowMainForm:=False, то первая форма отображаться не будет.

Автор: -Сергей- 19.8.2003, 04:56
не понимаю что вы тут пытаетесь сотворить, но если я правильно всех понял, то надо чтобы после открытия первой формы открылась вторая и не давала переключиться на первую.
Если так, то
Код
procedure TForm1.FormActivate(Sender: TObject);
begin
 Form2.ShowModal;
end;

и все!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)