Главная страница
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.015 c
1-24083
Dmitry Zhelobaev
2002-07-25 14:13
2002.08.08
Работа с модемом?


14-24225
ghremlin
2002-07-15 09:18
2002.08.08
Может мне кто-нибудь сказать ??


3-23873
Борис
2002-07-17 09:58
2002.08.08
Как оптимизировать вычисление одного столбца от друго(код внутри)


6-24158
yastal
2002-01-10 16:38
2002.08.08
Нужно скачать по ftp с удаленного компьютера сразу несколько файлов


7-24254
Alex_MIB2
2002-05-22 21:22
2002.08.08
Как отправить на печать имеющийся *.тхт файл?