Форум: "Основная";
Поиск по всему сайту: 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.031 c
4-9025            Rumrunner             2001-12-07 08:14  2002.02.04  
Как установить окно ЛЮБОЙ программы в StayOnTop?


7-9014            perov                 2001-10-24 16:18  2002.02.04  
Убить процесс


7-9002            Dmitry V. Averuanov   2001-10-22 11:16  2002.02.04  
Нужно определить уровень сигнала на входе звуковой карты


3-8782            Pete                  2002-01-03 09:57  2002.02.04  
InterBase


4-9021            Art                   2001-12-06 13:52  2002.02.04  
Помогите!Есть проблема программным выключением компа!!!?