文本编辑,希望在退出是判断文本是否有修改然后选择是否存盘或者取消退出操作。
但是每次关闭Form的时候它都是先关闭Form再弹出MessageBox,用菜单中的Exit选项没有问题。我的代码如下,请问该如何处理。它同时与Form1的OnDestroy事件关联。FileExit是退出菜单项。procedure TForm1.FileExitExecute(Sender: TObject);
begin
if dirty=true then
begin
dirty:=false;
Case MessageBox(Form1.Handle, '文件被修改是否保存!', '警告', MB_YESNOCANCEL) of
IDYES:
begin
if(FileName='Untitled.txt') then
FileSaveAs1.Execute
else
Richedit1.Lines.SaveToFile(FileName);
Close;
end;
IDNO:Close;
IDCANCEL:
begin
dirty:=true;
end;
end;
end;
end;
但是每次关闭Form的时候它都是先关闭Form再弹出MessageBox,用菜单中的Exit选项没有问题。我的代码如下,请问该如何处理。它同时与Form1的OnDestroy事件关联。FileExit是退出菜单项。procedure TForm1.FileExitExecute(Sender: TObject);
begin
if dirty=true then
begin
dirty:=false;
Case MessageBox(Form1.Handle, '文件被修改是否保存!', '警告', MB_YESNOCANCEL) of
IDYES:
begin
if(FileName='Untitled.txt') then
FileSaveAs1.Execute
else
Richedit1.Lines.SaveToFile(FileName);
Close;
end;
IDNO:Close;
IDCANCEL:
begin
dirty:=true;
end;
end;
end;
end;
解决方案 »
- Indy局域网聊天,上线后如何通知各Client端知道呢?
- 一个indy+Ftp的问题……
- 软件标题栏文字如何居右?或居中?
- 请问如何用代码清除dbgrideh过滤器中的内容,并且重新调取出全部数据集
- 关于 cube 的问题
- 不同unit之间的数据如何调用啊
- 上哪找hsv量化的资料或者源代码参考?急!
- 过年啦,领分啦,风云公开测试啦......集信息管理,多媒体播放(FLASH,影视,歌曲),图片浏览,网页浏览于一体的...Faint,先用用再说
- 关于NMHTTP用法问题:为什么收到的HTTP请求数据会是这样的?
- 使用WISE做出来的安装程序中Treeview中的图标没办法显示了?
- 如何让DBGRID多选删除后多选状态消失,或者变为只选中一条信息。50分。
- ODAC问题,关注有分!!!!!!!!
如果按了保存按钮 If_Save=true;
如果进行修改 If_Save=false;
在onclose 判断 If_Save 的值
放在窗体的
OnCloseQuery比较好
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
Case MessageBox(Handle, '文件被修改是否保存!', '警告', MB_YESNOCANCEL) of
IDYES:
ShowMessage('Yes');
IDNO:
ShowMessage('NO');
IDCANCEL:
begin
ShowMessage('Cancel');
CanClose := False;
end;
end;end;