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();
}
posted @ 2011-08-25 16:45  瓜蛋  阅读(700)  评论(0编辑  收藏  举报