Delphi编程问题,MB_YESNO

代码如下procedureTMainForm.FormClose(Sender:TObject;varAction:TCloseAction);beginifmessag... 代码如下procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if messagebox(0, '真的要退出本系统吗?', '确认', MB_YESNO + MB_ICONQUESTION) =
IDYES then
begin
DM.UserLogin.Locate('用户名称', Auser.UserName, []);
// 定位当前用户在数据库中的位置
//记录用户的退出时间
DecodeDate(now, year, month, day);
DecodeTime(now, Hour, Min, Sec, MSec);
DM.UserLogin.Edit;
//记录退出日期
DM.UserLogin.FieldByName('退出日期').AsString := IntToStr(year) + '年' +
IntToStr(month) + '月' + IntToStr(day) + '日';
DM.UserLogin.FieldByName('退出时间').AsString := IntToStr(Hour) + '时' +
IntToStr(Min) + '分' + IntToStr(Sec) + '秒';
DM.UserLogin.Post;
Application.Terminate;
end;
end;
为什么我点了否,仍然会退出?要怎么样才能实现点否的时候,不进行操作?
一楼的,procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
提示出错
展开
 我来答
经朔S8
2007-04-02 · TA获得超过761个赞
知道小有建树答主
回答量:647
采纳率:0%
帮助的人:888万
展开全部
不要把代码写在窗体的Close事件里,写在CloseQuery事件里,该事件有个CanClose,当你不想退出时,只要在最后写上CanClose:=False,如果你同意退出,就CanClose:=True

procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if messagebox(0, '真的要退出本系统吗?', '确认', MB_YESNO + MB_ICONQUESTION) =
IDYES then
begin
DM.UserLogin.Locate('用户名称', Auser.UserName, []);
// 定位当前用户在数据库中的位置
//记录用户的退出时间
DecodeDate(now, year, month, day);
DecodeTime(now, Hour, Min, Sec, MSec);
DM.UserLogin.Edit;
//记录退出日期
DM.UserLogin.FieldByName('退出日期').AsString := IntToStr(year) + '年' +
IntToStr(month) + '月' + IntToStr(day) + '日';
DM.UserLogin.FieldByName('退出时间').AsString := IntToStr(Hour) + '时' +
IntToStr(Min) + '分' + IntToStr(Sec) + '秒';
DM.UserLogin.Post;
CanColse:=true; //////就是这里改一下,下面这行加一句就可以了
end else CanCLose:=False;
end;

窗体事件里面改啊,不要写在OnClose里,双击OnCloseQuery,代码写在这里面啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
love_lixin
2007-04-16 · TA获得超过215个赞
知道答主
回答量:386
采纳率:0%
帮助的人:0
展开全部
窗体事件里,把onclose改成onclosequery,然后在你这段代码的末尾改成
DM.UserLogin.Post;
CanColse:=true; //////就是这里改一下,下面这行加一句就可以了
end else CanCLose:=False;
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友03676463c6
2007-04-02 · TA获得超过136个赞
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
不要把代码写在窗体的Close事件里,写在CloseQuery事件里,该事件有个CanClose,当你不想退出时,只要在最后写上CanClose:=False,如果你同意退出,就CanClose:=True
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友232d9fd3d
2007-04-16 · 超过11用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:22.1万
展开全部
其实写在BUTTONCLICK事件里就可以!!

if messagedlg('确定要退出吗?!',mtconfirmation,[mbYes,mbNo],0)=mrYes then

这样写也可以的 !!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1987兔小弟
2007-04-03
知道答主
回答量:79
采纳率:0%
帮助的人:20.3万
展开全部
....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式