求助:如何只关闭新窗口 而保留主窗口,急啊·~~~~

lldd1984 2008-05-28 03:08:00
小弟发过一次可是大家的回答不是很好,有点像没有看懂我说的意思,重发下,
MFC做的东西
主窗口(1)上有个按钮A,
点按钮A会弹出一个新窗口(2)
现在想在新窗口(2)上做个按钮B,要求是点按钮B后,只关闭(2),保留(1)
之前试过ok,EndDialog,destorywindow 都没有达到要求;
关闭窗口(2) 很容易,关键是要保留下(1);
窗口(1)中部分代码:
void CGUIDlg::OnOK()
{ SetEvent(eventQuitStub);
CDialog::OnOK();
}

void CGUIDlg::OnExit()
{ SetEvent(eventQuitStub);
}

void CGUIDlg::OnButtonA()
{ Clist list;
list.DoModal();
}
窗口(2):

void Clist::OnOK()
{ CDialog::OnOK();
}


void Clist::OnButtonB()
{
}
...全文
121 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lldd1984 2008-06-02
  • 打赏
  • 举报
回复
感谢大家的帮助,我也不知道什么原因重新创了个对话框就又好了~~对不起大家了,也许你以后也会遇到这个问题,到时候就试着重新做一遍 也许就好了 呵呵~~~
sanone2008 2008-05-28
  • 打赏
  • 举报
回复
模式对话框吗?CDialog::OnClose()会调用EndDialog(),非模式对话框好象调用DestroyWindow()
  • 打赏
  • 举报
回复
不好意思 看錯了
  • 打赏
  • 举报
回复
你不會是在(1)的OnOk() OnCancle()彈出2的吧
C(1)Dlg::OnOk()
{
//彈出2
CDialog::OnOk()//窗口2關閉后就執行這一句 執行這一句的結果就是窗口1關閉
}
  • 打赏
  • 举报
回复
主窗口(1)上有个按钮A,
点按钮A会弹出一个新窗口(2)
现在想在新窗口(2)上做个按钮B,要求是点按钮B后,只关闭(2),保留(1)

你關閉 2跟1有什麽關係
1不是照樣存在嗎
zgl7903 2008-05-28
  • 打赏
  • 举报
回复
不是很明白LZ的意思,结束对话框可以使用EndDialog()

void Clist::OnButtonB() //ButtonB 关闭窗口2
{
EndDialog(IDOK);
}
Chivalry 2008-05-28
  • 打赏
  • 举报
回复
你关闭2 和 关闭1是没有联系的
void CGUIDlg::OnButtonA() 
{ Clist list;
list.DoModal();
//后面是什么?应该有关闭1的代码,所以,在模态对话框2结束以后, 继续执行代码,导致1被关闭
//找到后面的关闭1的代码,去掉
}

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧