Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.08;
Скачать: CL | DM;

Вниз

Форма   Найти похожие ветки 

 
Александр ©   (2002-07-26 16:35) [0]

Здравствуйте. Подскажите пожалуйста, как лучше всего решить слудеющую задачу. Запускается программа, показывается главная фора, которая тутже создает еще одн форму. Эту форму надо сделать поверх главной и других и не дать пользлвателю обращаться к другим формам приложения, пока эту не закроет.
Спаисбо.


 
MBo ©   (2002-07-26 16:36) [1]

form2.showmodal


 
Александр ©   (2002-07-26 16:41) [2]

делал, но при этом форма главная даже не отображается:(


 
MBo ©   (2002-07-26 16:53) [3]

Даже не знаю, что и сказать...
Как главная не отображается, если ты из нее создаешь вторую (не в OnCreate?)?


 
saxon ©   (2002-07-26 16:56) [4]

В .dpr пишеш

Application.OnIdle:=MainForm.StartDialog;
Application.Run;


а в MainForm.StartDialog создаешь ее и showmodal!


 
Александр ©   (2002-07-26 17:02) [5]

Не получается. Ругается в коде, чо не занет StartDialog.
И ка коплностью должен выгляждеть dpr? Там должы быть строки типа Application.CreateForm(TForm5, Form5);....?


 
saxon ©   (2002-07-26 17:12) [6]

Пример:

begin
Application.Initialize;
...
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TPasswordDlg, PasswordDlg);
...
Application.OnIdle:=MainForm.StartDialog;
Application.Run;
end.


PasswordDlg - твоя форма
если так то создавать ее в MainForm.StartDialog не надо!

читайте хелп!


 
saxon ©   (2002-07-26 17:14) [7]

да вот описание процедуры в классе главной формы
public
{ Public declarations }
procedure StartPWDDialog (Sender: TObject; var Done: Boolean);


 
saxon ©   (2002-07-26 17:15) [8]

извините :)
procedure StartDialog (Sender: TObject; var Done: Boolean);
!!


 
TTCustomDelphiMaster ©   (2002-07-26 17:20) [9]

Александр © (26.07.02 16:41)
Наверное в onShow делал?
Попробуй в onActivate.


 
Александр ©   (2002-07-26 17:32) [10]

TTCustomDelphiMaster: спасибо заработало. Просто я делал на OnShow.
Saxon: спасибо. Ваш метод тоже работает. Просто я сперва забыл прописать описание процедуры в классе главной формы


 
Александр ©   (2002-07-26 17:41) [11]

Опять проблемка. Как корректно сделать мледующее. Я открываю форму при помощи showmodal, на которой пользователь нажимает на кнопку, затем я должен эту форму на которой нажал он кнопку)закрыть и открыть другую. Тут у меня уже проблема. Окно не закрывается. Затем на той форме, которая открывается есть кнопка, которая должна сделать действие наоборот, т.е. обратно показать начальную форму и закрыть текущую.


 
saxon ©   (2002-07-26 17:48) [12]

И так до бесконечности :)


 
Anatoly Podgoretsky ©   (2002-07-26 17:51) [13]

Александр © (26.07.02 16:41)
Не правда ваша, отображается
Но ты уже написал, что не там делал (Александр © (26.07.02 17:32))

Александр © (26.07.02 17:41)
Опять неправда ваша, хорошо закрывается, а ты не хочешь быть более конкретным, если у тебя что то не получается и ты не можешь объяснить словами, то приводить кусок проблемного кода, что бы мы не занимались телепатией и не вытаскивали из тебя клещами подробности, поверь решение будет гораздо быстрее.


 
Александр ©   (2002-07-26 18:09) [14]

Попробую объяснить..просто код оченьл простой.
Вот на первой форме:
procedure TForm3.OpenNEWNEXTClick(Sender: TObject);
begin
Form5.Showmodal;
close;
end;

Вот на второй форме:

procedure TForm5.BackButton2Click(Sender: TObject);
begin
Form3.showmodal;
close;
end;

procedure TForm5.OKButton1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then close
else begin
Form1.Memo.Lines.LoadFromFile("default.ins");
close;
end;
end;


 
saxon ©   (2002-07-26 18:14) [15]

Form5.Showmodal не даст отработать следующему за ней оператору
пока не закроется форма Form5.
И так далее ...


 
Александр ©   (2002-07-26 18:25) [16]

Я так и понял, а как быть не знаю:( Неужели просто нету в Дельфи такой опции как сделать окно поверх всех остальных этой программы и запретить доступ к ним?!:(


 
Александр ©   (2002-07-26 21:09) [17]

все. Спасибо разобрался. Просто запутался.



Страницы: 1 вся ветка

Текущий архив: 2002.08.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
14-24194
DeepProg
2002-07-05 18:15
2002.08.08
К вопросу об индексированных метках


1-24071
lpp
2002-07-26 12:25
2002.08.08
InstallShield Express for Delphi 5


14-24180
Дмитрий Баранов
2002-07-12 18:56
2002.08.08
Встреча в Питере


1-23972
eruc
2002-07-26 23:39
2002.08.08
Speedbutton и курсор


1-24113
SuMaga
2002-07-26 14:24
2002.08.08
нужен пример!!!