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

来源:互联网 发布:日式拉面知乎 编辑:程序博客网 时间:2024/05/14 05:30
1
2
3
4
5
6
7
8
9
10
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;   // 不存在窗体,返回空值
}
1
  
1
使用方法:
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TfmMain::mnuRegClick(TObject *Sender)
{
    // 门诊挂号管理
    TForm *pForm = FormExist("门诊挂号管理");
    // 如果已存在则激活,否则新建一个字窗体
    if(pForm)
        pForm->SetFocus();
    else
        pForm = new TfmReg(Application);
    pForm->Show();
}
出处:http://www.cn
0 0
原创粉丝点击