如何关闭当前窗口 ???

VC中,使用dlg.DoModal()打开一个窗口,除了使用IDOK或者IDCANCEL可以关闭当前窗口外,如何关闭当前窗口 

假如,我在主窗体上做三个按钮,分别打开三个新的窗体,但是我想打开新窗体的时候要关闭当前窗体,不然使用dlg.DoModal()可以重复打开同一个窗体,哪位大哥可以具体点给我说明下吗,谢谢

呼如林
浏览 180回答 1
1回答

蓝山帝景

你描述的内容相互矛盾。如果你的DoModal只在同一个窗口中调用,那么是不可能反复点击打开多个的,这是模态对话框的特征。如果是要求按钮只允许按一次,那么DoModal返回IDOK后Enable函数禁止按钮就可以了。DoModal存在父子窗口关系,你不可能关闭了父窗口而保留子窗口。因此如果你要“关闭”的是主窗口,那么只能是隐藏,不能使关闭。无论OnOK还是OnCancel,最终都是通过EndDialog结束的对话框,这个函数在对话框中随时可以调用。而正确使用时,不是只有两个ID的按钮才可以结束对话框,任何自定义按钮中调用基类的CDialog::OnOK();这个语句,都可以结束对话框并将DoModal返回IDOK消息。
打开App,查看更多内容
随时随地看视频慕课网APP