c++ builder 防止多个相同的子窗口同时出现

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();

}

你可能感兴趣的:(builder)