Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
Александр   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-24012
Иван61
2002-07-28 20:02
2002.08.08
Грабли по имени UpCase


3-23912
maxon
2002-07-15 10:31
2002.08.08
запрос


1-24029
dim-
2002-07-29 09:28
2002.08.08
ListView


14-24223
restless
2002-07-12 09:08
2002.08.08
Где можно скачать дистрибутив С++?


14-24203
SuperIgor
2002-06-22 21:07
2002.08.08
Чат для модемной связи.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский