我想在VC中实现关闭当前窗口但不退出整个主程序的功能,在网上找了一阵但都是C#啊JAVA方面的,在VC中要实现如上功能如何写程序呢?有现成的类吗?最好带退出确认询问的对话框.询问"尚未保存,真的要退出吗?"如果点是,就关闭当前而不保存所有;如果点否就退出但保存;如果点取消就保持原样(不退出也不关闭当前窗口).多谢赐教!:)
解决方案 »
- 为什么exe项目里嵌入web browser就可以,OCX里嵌入web browser就出错呢
- CSplitterWnd分割的两个视图,如何处理滚动条的拖动事件??
- strncpy(a,b,-2)不抛出异常程序直接退出。
- 如何枚举一个DLL里面的所有导出函数名字?
- vc中怎么给RichEdit赋一字符串值啊
- 动态创建CListCtrl类的控件,出来的是一个白框,怎么回事?
- 普通接口和分派接口有什么不同啊?
- 在vc程序中能访问别的机器上的odbc数据源吗?
- VC6.0中如何根据登录用户类型的不同,禁用某些IDR_***TYPE的子菜单的菜单项?
- UDP心跳包好久发送一次?
- 今天看到北大青鸟的发的宣传单 ,把 潭浩强 说成C语言之父 ,郁闷
- 用小颖打包程序,如何打包数据库啊?谢谢
public void windowClosing(WindowEvent e)
{
DialogResult result=MessageBox.Show("确认要离开?","提示",
MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if(result==DialogResult.Yes)
e.Cancel=false;
else
e.Cancel=true;
}
但这是用JAVA做的,现在我想用VC.MFC里有哪个类类似于上面这个DialogResult的吗?有类似用法吗?
关闭所有documents
theApp.CloseAllDocuments(FALSE);
退出要确认的话可以在Doc类中重载CanCloseFrame(CFrameWnd* pFrame)
//退出程序
POSITION pos = GetFirstViewPosition();
CXXXView* pView = (CXXXView*)GetNextView(pos);
if (pView->IsResultFileModify() || pView->m_IsModified)
{
int t;
t=::MessageBox(NULL,"标引单已经修改,要保存你的修改吗?","警告",
MB_YESNOCANCEL | MB_ICONWARNING); //弹出提示对话框
if(t==0 || t==IDCANCEL)
return false;
if(t==IDYES)
pView->SaveYuanwenFile();
}
return CDocument::CanCloseFrame(pFrame);
OnDestroy();
直接返回就可以了
我试过qiujian5628(浪迹天涯)网友说的"关闭所有documents
theApp.CloseAllDocuments(FALSE); "
但没有效果耶:<
对于重载CanCloseFrame,我会试试看的.谢谢.
ralphvsclark(微笑)说的重载OnDestroy();也没有效,不知是本人写的不好还是什么原因了:<
还是要谢谢两位:)