如何某一Form是否已经运行
1个回答
推荐于2016-05-17
展开全部
新建一个函数:
bool __fastcall TfmMain::OpenForm(TForm *WForm)
{
if( WForm==NULL) return false;
bool FormExist=false;
for(int i=0;i<Screen->FormCount;i++)
{
if( Screen->Forms[i]->ClassType()==WForm->ClassType())
{
FormExist=true;
break;
}
}
if( !FormExist) return false;
if( WForm->WindowState==wsMinimized)
ShowWindow(WForm->Handle,SW_SHOWNORMAL);
else
ShowWindow(WForm->Handle,SW_SHOWNA);
if( !WForm->Visible ) WForm->Visible=true;
WForm->BringToFront();
WForm->SetFocus();
return true;
}
然后再这样:
void __fastcall TfmMain::btnInClick(TObject *Sender)
{
if( OpenForm(fmIn)) return;
fmIn = new TfmIn(Application);
}
bool __fastcall TfmMain::OpenForm(TForm *WForm)
{
if( WForm==NULL) return false;
bool FormExist=false;
for(int i=0;i<Screen->FormCount;i++)
{
if( Screen->Forms[i]->ClassType()==WForm->ClassType())
{
FormExist=true;
break;
}
}
if( !FormExist) return false;
if( WForm->WindowState==wsMinimized)
ShowWindow(WForm->Handle,SW_SHOWNORMAL);
else
ShowWindow(WForm->Handle,SW_SHOWNA);
if( !WForm->Visible ) WForm->Visible=true;
WForm->BringToFront();
WForm->SetFocus();
return true;
}
然后再这样:
void __fastcall TfmMain::btnInClick(TObject *Sender)
{
if( OpenForm(fmIn)) return;
fmIn = new TfmIn(Application);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询