为了账号安全,请及时绑定邮箱和手机立即绑定

如何关闭当前窗口 ???

如何关闭当前窗口 ???

C++ C
呼如林 2023-04-23 17:13:30
VC中,使用dlg.DoModal()打开一个窗口,除了使用IDOK或者IDCANCEL可以关闭当前窗口外,如何关闭当前窗口 假如,我在主窗体上做三个按钮,分别打开三个新的窗体,但是我想打开新窗体的时候要关闭当前窗体,不然使用dlg.DoModal()可以重复打开同一个窗体,哪位大哥可以具体点给我说明下吗,谢谢
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

你描述的内容相互矛盾。

  1. 如果你的DoModal只在同一个窗口中调用,那么是不可能反复点击打开多个的,这是模态对话框的特征。如果是要求按钮只允许按一次,那么DoModal返回IDOK后Enable函数禁止按钮就可以了。

  2. DoModal存在父子窗口关系,你不可能关闭了父窗口而保留子窗口。因此如果你要“关闭”的是主窗口,那么只能是隐藏,不能使关闭。

  3. 无论OnOK还是OnCancel,最终都是通过EndDialog结束的对话框,这个函数在对话框中随时可以调用。而正确使用时,不是只有两个ID的按钮才可以结束对话框,任何自定义按钮中调用基类的CDialog::OnOK();这个语句,都可以结束对话框并将DoModal返回IDOK消息。


查看完整回答
反对 回复 2023-04-26
  • 1 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信