初学者,求教多文档界面的问题
多文档界面的窗口问题
就是我一开始将子窗口不予创建
然后再菜单的onclick事件中
Formx=new TFormx(this)
但是问题出现了
如果点这个菜单选项多次,就会出现多个同样的窗口
如何避免呢
问题点数:0、回复次数:5Top
1 楼JetKingLau(时差)(亦远亦近)(静坐常思已过 闲谈勿论人非 …………)回复于 2004-04-03 15:48:58 得分 0
在主窗口设个bool Flag=false,在 OnClick 事件中
if( !Flag ) {
Formx = new TFormx(this);
Flag = true;
}
或者利用子窗口的 Tag 属性,自定义 Tag = 1 为某种窗口,Tag = 2 为另一窗口,在 OnClick 事件中
bool exists = false;
for(int i=0;i<this->MDIChildCount;i++) {
exists = exists || this->MDIChildren[i]->Tag == 1;
}
if( !exists )
Formx = new TFormx(this);Top
2 楼xu_xinyu(雪候鸟)回复于 2004-04-03 16:29:40 得分 0
这样创建
if(!Formx)
{
Formx=new TFormx(this)
}
在formx::onclose中添加
formx = NULL;Top
3 楼constantine(飘遥的安吉儿)回复于 2004-04-04 11:09:02 得分 0
多文档界面??
如果点这个菜单选项多次,就会出现多个同样的窗口??
这样不就对了,如果不要出现就没有必要做成多文文档了
Top
4 楼JetKingLau(时差)(亦远亦近)(静坐常思已过 闲谈勿论人非 …………)回复于 2004-04-04 12:34:23 得分 0
可能楼主要的多文档是指多个不同的 ChildForm 存在于一个相同的 MDIForm 中。Top
5 楼liaoyong2(ly)回复于 2004-04-04 13:56:11 得分 0
我是这样做的
if(!Formx)
{
Formx=new TFormx(this)
Formx->Show();
}
else
{
Formx->Show();
}
在formx::onclose中添加
Action=caFree
formx = NULL;
Top




