form1、form2两个窗体,在form1中通过如下代码显示form2
TForm2 *p_frm = new TForm2(this);//也试了TForm2 *p_frm = new TForm2(Application)
p_frm->ShowModal();同时,form1中还有一个时间空间循环判断,当符合某一条件时,关闭除form1外的所有窗口,代码如下:for (int i=0;i<Screen->FormCount;i++)
{
if (Screen->Forms[i]->ClassType!=this->ClassType)
{
delete Screen->Forms[i];//也试了Screen->Forms[i]->Free()
i--;
}
}这段代码运行后,虽然除form1外的所有窗口都关闭了,但是form1上的按钮都不能点击了,就象ShowModal出来的窗口没有关闭那样!求大家指点,如何关闭模式窗口,谢谢!
TForm2 *p_frm = new TForm2(this);//也试了TForm2 *p_frm = new TForm2(Application)
p_frm->ShowModal();同时,form1中还有一个时间空间循环判断,当符合某一条件时,关闭除form1外的所有窗口,代码如下:for (int i=0;i<Screen->FormCount;i++)
{
if (Screen->Forms[i]->ClassType!=this->ClassType)
{
delete Screen->Forms[i];//也试了Screen->Forms[i]->Free()
i--;
}
}这段代码运行后,虽然除form1外的所有窗口都关闭了,但是form1上的按钮都不能点击了,就象ShowModal出来的窗口没有关闭那样!求大家指点,如何关闭模式窗口,谢谢!
H := GetLastActivePopup(Application.Handle);
if H <> 0 then
SendMessage(H, WM_Close, 0, 0);... ...
form1、form2、form3,1 show 2,2 showmodal 3,3中自己有做条件判断,然后自己关闭自己,但是1中也有在一些意外情况下关闭2、3的。按linzhengqun(风。我回来了)的方法,SendMessage(H, WM_Close, 0, 0);不能ShowModal窗口。大家再帮忙看看啊!