用MDIForm调ChildForm时出现问题,急(100分)

  • 主题发起人 主题发起人 loy_guoyi
  • 开始时间 开始时间
L

loy_guoyi

Unregistered / Unconfirmed
GUEST, unregistred user!
我用sui的空间修饰窗体,菜单也用得它,但是我点菜单时调不出下一个窗体,请问这是怎么回事。还有ChileForm是现用现创建的,调用时用的是Show()。
 
如果是Show()的话,就不能使用下的的处理结构,
try{
创建子窗;
子窗.Show();
//非模态窗体不会进入消息循环,因此刚创建就会被销毁
}__finally{
delete 子窗;
}
子窗.Show()以后,只能采用在OnClose事件中设Action = caFree;的方法的释放自己。
 
那调用子窗体时,最好用什么语句呀!
 
就用show啊,但不能调用delete或者free来释放,在childform的onclose事件里设置
action = cafree;
 
先定义
bool OpenForm( TForm * WForm )
{
int i;
bool FormExist;
if( WForm == NULL )
return false;
FormExist = false;
for( i=0;i<Screen->FormCount;
i++ )
{
if( Screen->Forms->ClassType() == WForm->ClassType())
{
FormExist = true;
break;
}
}
return FormExist;
}
//------------------------------------------------------------------------------

try
{
if(OpenForm(Form1) == false)
{
Form1=new TForm1(Application);
}
else
{
if( Form1->WindowState == wsMinimized )
ShowWindow(Form1->Handle,SW_SHOWNORMAL);
else
ShowWindow(Form1->Handle,SW_SHOWNA);
Form1->BringToFront();
Form1->SetFocus();
}
}
catch (Exception &amp;exception)
{
Application->ShowException(&amp;exception);
return;
}
 
多人接受答案了。
 
后退
顶部