![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Модальные формы [D5, Win2k]
kostushock © (2002-01-17 12:15:00)У меня такой вопрос - Есть модальная форма, например Form2. По нажатию кнопки на этой форме мне необходимо открыть в модальном режиме другую форму, например Form3, а исходную форму - Form2 - закрыть. Я пишу:
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Close();
Form3->ShowModal();
}
Открывается Form3 как модальная, но Form2 всё равно остаётся открытой до тех пор, пока не закроется Form3. Так как её всё-таки закрыть, а?
panov (2002-01-17 13:35:00) [1]>kostushock (17.01.02 12:25)
А где ж ты, сердечный, Form2.ShowModal вызываешь?
Из какой формы?
Если не хочешь формы последовательно вызывать, то делай так:
Form2.Visible := False;
Form3.ShowModal;
Form2.Close;
yaJohn (2002-01-17 13:01:00) [2]>Ты это имел ввиду???
Da.
>твой вариант почему-то не проходиT
A konkretnee? Ne zakrivaetsia Form2? Voobsheto doljno rabotat".
Ili otkritie modalnoy formi prerivaet cikl obrabotki soobsheniy vo vseh ostalnih oknah prilojenia????
kostushock (2002-01-17 12:25:00) [3]yaJohn, твой вариант почему-то не проходит, написал
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Close();
SendMessage(Handle,WM_CLOSE,0,0);
Form3->ShowModal();
}
Ты это имел ввиду???
panov, а при чём тут Form1???? Объясни ещё раз поподробнее, а? А то я, дурачок, ничего не понял:)))
Владислав (2002-01-17 12:24:00) [4]Модальную форму Form3 необходимо вызывать из того места кода, откуда вызываетя Form2.
Например:
void __fastcall TForm2::Button1Click(TObject *Sender)
{
ShowForm3:=1 //Свойство Form2. Если установлено, значит отобразить Form2.
Close();
}
...
Form2->ShowModal();
if (Form2->ShowForm3) {then Form3->ShowModal()};
panov (2002-01-17 12:19:00) [5]TForm1.Button1.Click(...)
...
if Form2.Showmodal=mrOk then
begin
Form3.ShowModal;
end;
yaJohn (2002-01-17 12:18:00) [6]SendMessage(Form2.Handle,WM_CLOSE,0,0);
pisano navskidku.... I na Delphi :)