Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

Модальные формы 


kostushock   (2002-01-17 12:15) [0]

У меня такой вопрос - Есть модальная форма, например Form2. По нажатию кнопки на этой форме мне необходимо открыть в модальном режиме другую форму, например Form3, а исходную форму - Form2 - закрыть. Я пишу:
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Close();
Form3->ShowModal();
}

Открывается Form3 как модальная, но Form2 всё равно остаётся открытой до тех пор, пока не закроется Form3. Так как её всё-таки закрыть, а?



yaJohn   (2002-01-17 12:18) [1]

SendMessage(Form2.Handle,WM_CLOSE,0,0);

pisano navskidku.... I na Delphi :)



panov   (2002-01-17 12:19) [2]

TForm1.Button1.Click(...)

...
if Form2.Showmodal=mrOk then
begin
Form3.ShowModal;
end;



Владислав   (2002-01-17 12:24) [3]

Модальную форму Form3 необходимо вызывать из того места кода, откуда вызываетя Form2.

Например:

void __fastcall TForm2::Button1Click(TObject *Sender)
{
ShowForm3:=1 //Свойство Form2. Если установлено, значит отобразить Form2.
Close();
}

...

Form2->ShowModal();
if (Form2->ShowForm3) {then Form3->ShowModal()};



kostushock   (2002-01-17 12:25) [4]

yaJohn, твой вариант почему-то не проходит, написал
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Close();
SendMessage(Handle,WM_CLOSE,0,0);
Form3->ShowModal();
}
Ты это имел ввиду???

panov, а при чём тут Form1???? Объясни ещё раз поподробнее, а? А то я, дурачок, ничего не понял:)))



yaJohn   (2002-01-17 13:01) [5]

>Ты это имел ввиду???
Da.
>твой вариант почему-то не проходиT
A konkretnee? Ne zakrivaetsia Form2? Voobsheto doljno rabotat".
Ili otkritie modalnoy formi prerivaet cikl obrabotki soobsheniy vo vseh ostalnih oknah prilojenia????



panov   (2002-01-17 13:35) [6]

>kostushock (17.01.02 12:25)
А где ж ты, сердечный, Form2.ShowModal вызываешь?

Из какой формы?

Если не хочешь формы последовательно вызывать, то делай так:

Form2.Visible := False;
Form3.ShowModal;
Form2.Close;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.039 c
14-8977           evgeg                 2001-12-12 21:27  2002.02.04  
А вы знаете, что ссылки на этот форум есть на сайт www.rsdn.ru в разделе


1-8861            NLO                   2002-01-18 12:36  2002.02.04  
Как получить иконку зарегистрированного расширения


1-8862            Eraser                2002-01-21 12:34  2002.02.04  
Процедура Delay


3-8798            Antoniz               2002-01-08 14:27  2002.02.04  
Как программно создать БД Interbase


4-9034            KIR                   2001-12-04 00:51  2002.02.04  
Как зарегистрировать свой тип файлов