【vc++】对话框编程中,右上角的退出如何自己实现

点击右上角的“红叉”是退出,如果自己建立一个按钮控件,应该在响应函数中添加什么函数,来实现退出的功能?

同时要求屏蔽掉ESC和Enter建,意思就是不能够按下ESC和Enter建就退出了

如果是对话框,
CDialog::OnOk();
CDialog::OnCancel();
都是退出,内部调用了 EndDialog()。
如果是FrameWnd,使用 PostQuitMessage;
对话框也可以使用 PostQuitMessage
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-13
如一楼所说

如果要屏蔽对话框里ESC Enter就重载OnOk(); OnCancel(); 两个函数然后把里面的CDialog::OnOk(); CDialog::OnCancel(); 注释掉
第2个回答  2009-03-13
把原来的两个按钮 双击, 进入代码, 里面的语句注释掉.

自己加个命令, 执行OnCancle()语句

【vc++】对话框编程中,右上角的退出如何自己实现
都是退出,内部调用了 EndDialog()。如果是FrameWnd,使用 PostQuitMessage;对话框也可以使用 PostQuitMessage

怎样去掉 vc++ 的 对话框 右上角的关闭按钮??
对话框模板属性中设置System Menu 为False

怎样在vc++退出按钮下添加退出代码?
给你的退出按钮添加标识符IDC_XXX;在类向导里面选择Message Maps这个选项,然后在class name里面选择一个类(取决于你需要在哪个类里面实现这个功能),以对话框为例:选择C**Dlg类,Object IDs里面找到你的标识符IDC_XXX,在右边的Message里面添加BN_CLICKED消息响应(Add Function->Edit Code)在对应的...

VC++中,怎样控制程序退出自己?
方法很多,介绍最简单的一种,给自己发送 WM_CLOSE 消息.方法很简单 AfxGetApp()->SendMessage(WM_CLOSE,0,0);在处理 WM_CLOSE 消息的 SysCommand 这个函数里(对话框程序是写好的,其他的没注意)使用 WinExec("程序名",1);后面那个参数1是可以改了,详细查MSDN吧!

VC++中想要在关闭时弹出确认对话框应该怎么做
模态对话框的确定和取消按钮,调用的是EndDialog来结束对话框,不会触发WM_CLOSE消息,因此,要在两个按钮响应消息OnOK和OnCancel中进行确认提示,以OnOK为例:void CDialog1::OnOK() { if(IDOK==AfxMessageBox(_T("您确定要退出吗"),MB_OKCANCEL))CDialogEx::OnOK();}需要注意的是,即使是模态...

VC++ MFC对话框怎么在退出程序时提示是否保存数据和删除程序运行产生文 ...
产生提示,应该在classwizard里面重载对话框WM_CLOSE消息,void CDialog1::OnClose() { \/\/ TODO: Add your message handler code here and\/or call default int ret = AfxMessageBox("退出保存?",MB_YESNOCANCEL);\/\/应该三态按钮,允许取消 if(ret==IDCANCEL) return; else if(r...

VC++ 如何实现对话框的注销和切换用户?
那你要写2个程序了-_,-要不你程序都退出了,还怎么执行后面的代码。。--- 那不是还是要隐藏主对话框,然后改控件变量值(换用户名),然后再显示出来嘛。。。要是支持多用户同时登陆,不注销只互相切换,那你就用线程一个用户对应一个对话框,切到谁谁显示,其他全隐藏。

VC++6.0编辑的对话框怎样修改右上角的叉的响应函数?
首先是没有了关闭确认的对话框,再次就是没有delete那几个在堆上分配的变量造成内存泄漏。因此,建议楼主重载对话框类的OnDestroy()函数。在这个函数里面进行是否关闭的确认,如果用户选择不关闭对话框,就直接返回该函数不调用父类的OnDestroy()即可。而对话框对象内部动态生成的变量析构在放在PostNc...

vc++ 怎么实现窗口的切换
1、选择[insert]→[new form]菜单,弹出“new form”对话框。设置好你的窗口类名称(cdataview),基类选择cformview类。如果你的窗口所连接的文档为同一文档,就可以ok了;如果为不同文档,在document template infomation中设置你的文档类名,程序将自动在ctestapp::initinstance()中添加如下代码:c...

在VC6中如何实现按下“退出”键销毁整个应用程序
你好,唐宗淙,你提出的这个问题,其实有很多种方法解决。如果你现在初学VC,还连MFC框架结构都还不十分熟练的情况下,代码可以这样编写:void CLoad::OnCancel(){ ExitProccess(0);} 至于原因,你可以自行查询MSDN。很多问题,都可以通过MSDN找帮助,只是不知道你的英语怎么样。另外,最好的方法也是...

相似回答