Вниз
Скачать: CL | DM;

Модальные формы   Найти похожие ветки 

 
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;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-8883
Deutschmann
2002-01-16 12:04
2002.02.04
Масштабирование щрифтов


4-9041
AlexandrH
2001-12-06 14:26
2002.02.04
Кто-нибудь знает что мне выдает функция EnumProps


1-8867
Andron
2002-01-15 22:29
2002.02.04
Как отключить предупреждения компилятора типа ... specific to a platform?


3-8761
Paolo_lis
2002-01-04 16:35
2002.02.04
Компоненета с инкриментальным посиком


14-8991
lenak
2001-12-17 13:18
2002.02.04
как вставить символ в окно Edit?




   Наверх