关闭子窗口之前提示保存 各位大虾,小弟请教一个问题我在子窗口中用控件把数据显示成相当于Excel的形式,可以编辑修改各个网格的数据,但是我想实现这样的功能:如果在关闭改子窗口之前修改了改子窗口界面上的数据,怎样提示是否保存数据?多谢先 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在OnSysCommand中if ( SC_CLOSE == nID){ if ( 发生更改 ) {if ( MessageBox(_T("是否保存数据?"), _T("标题"), MB_ICONQUESTION|MB_YESNO) == IDYES ) //保存数据 }} lixiaosan(小三) 能否讲的详细一些?OnSysCommand在哪里? 我设了个Bool变量,当界面数据发生改变的时候就把它设为true,我在主框架的OnClose里面判定这个变量,如果为true就弹出对话框,但是关闭子窗口我不知道怎么实现 响应子窗口的OnClose、OnOK、DestroyWindow等(具体视你的环境而定),在里面根据这个BOOL值判断即可。比如弹出MessageBox等。 子窗口的OnClose没反应,关闭子窗口的时候根本就没运行到OnClose函数…… 视你情况而定嘛。晕。。你没点Colse它当然进不去啦。如果没有Close的话就DestroyWindow,这个一定可以进。如果不进,说明你这个窗口没有真正销毁,那就需要在外面调用m_pChildDlg->DestroyWindow(); 有个建议,你可以借用MFC的文档视图结构的模式(不一定非要用文档视,只是用它的精神),文档类提供一个SetModified(BOOL)的接口,当文档有变化时,调用这个接口,传TRUE,在程序结束时,检查文档类中的标志,看是否为TRUE,如果是,那么提示保存,如果为FALSE,直接关闭. 推荐用重载OnOK和OnCancel的方法 重载OnOK吧.里面写上保存代码. 如果是个Dialog类型, 最简单的就是在上面添加一个按钮,ID设为IDOK,然后给它添加一个函数(Ctrl+W,打开类向导添加)如果是个Window类型,用Ctrl+W打开类向导,添加一个WM_CLOSE消息,在OnClose中控制 VC用socket提交网页表单不成功,不明白怎么回事,望解答 异步消息的网络程序,总是发送数据失败,求解答! vc如何获取图片EXIF信息? VC++ 中改变字体问题 RELEASE调debug 一个很简单的问题 我的哪个问题还没有解决,是没有高手呢?还是。。。。谁能帮我解决了,我另外开帖给500分 侯捷的源代码用了CTypedPtrList的GetHeadPosition(),可是查msdn上没有这个函数啊 结构化存储是不是就是当今的XML 学VC到底要从哪几个方面入手? 请问MFC有哪些界面控件包, 实际项目中用得多吗? 2个关于Edit Box的小问题
if ( SC_CLOSE == nID)
{
if ( 发生更改 )
{
if ( MessageBox(_T("是否保存数据?"), _T("标题"), MB_ICONQUESTION|MB_YESNO)
== IDYES )
//保存数据
}
}
在里面根据这个BOOL值判断即可。比如弹出MessageBox等。
如果没有Close的话就DestroyWindow,这个一定可以进。
如果不进,说明你这个窗口没有真正销毁,那就需要在外面调用
m_pChildDlg->DestroyWindow();
里面写上保存代码.
(Ctrl+W,打开类向导添加)如果是个Window类型,用Ctrl+W打开类向导,添加一个WM_CLOSE消息,在OnClose中控制