TForm* TfmMain::FormExist(AnsiString szCaption) { for(int i=0; i<this->MDIChildCount; i++) { TForm *pForm = this->MDIChildren[i]; if(pForm->Caption == szCaption) return pForm; // 已存在窗体,返回该窗体 } return NULL; // 不存在窗体,返回空值 }
使用方法:
void __fastcall TfmMain::mnuRegClick(TObject *Sender) { // 门诊挂号管理 TForm *pForm = FormExist("门诊挂号管理"); // 如果已存在则激活,否则新建一个字窗体 if(pForm) pForm->SetFocus(); else pForm = new TfmReg(Application); pForm->Show(); }