请教关于FormCloseQuery的一点问题?

flywolfa188 2003-08-24 11:24:21
procedure TPwdChangeForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if messagedlg('您是否退出密码修改窗口?',mtconfirmation,[mbyes,mbno],0)=mryes
then
begin
CanClose:=True;
end
Else CanClose:=False;
end;

我在密码修改后点确定键时就想直接关闭窗口,但又不想显示上面这段message
应该怎么做,我看了form.CloseQuery()是一个函数,是不是能直接用他将CanClose设为True啊,怎么设.我现在是用的Form.Close
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuejinlong 2003-08-24
  • 打赏
  • 举报
回复
呵呵,肯定是copy别人的代码,你可以将begin end之间的代码删除,然后保存就可以了,系统会自动将这个事件去掉。
jdh41402 2003-08-24
  • 打赏
  • 举报
回复
恩 多此一举
lxl 2003-08-24
  • 打赏
  • 举报
回复
呵呵
你不用它就用不着写这个事件啦
procedure TPwdChangeForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose:=True;
end;
是多此一举
flywolfa188 2003-08-24
  • 打赏
  • 举报
回复
谢谢大家!
不过我觉得 cobi(我是小新) 的比较接近我的意思.
xuejinlong 2003-08-24
  • 打赏
  • 举报
回复
是呀,你要在关闭按钮实现的东西,写到那个button的OnClose事件里就可以了。如楼上的
lxl 2003-08-24
  • 打赏
  • 举报
回复
那在点关闭钮时写入下面代码就可以了
ONCLOSEQUERY就不用 写了,否则在所有FORM要关闭时提示信息就会出现:
if messagedlg('您是否退出密码修改窗口?',mtconfirmation,[mbyes,mbno],0)=mryes
then
CLOSE;
cobi 2003-08-24
  • 打赏
  • 举报
回复
如果你想达到你的要求,那么保留这个事件的内容,但其中多添加一个全局变量,如closenotquery:boolean;

procedure TPwdChangeForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if closenotquery then
begin
CanClose:=True;
exit;
end;

if messagedlg('您是否退出密码修改窗口?',mtconfirmation,[mbyes,mbno],0)=mryes
then
begin
CanClose:=True;
end
Else CanClose:=False;
end;

closequery赋true值在在密码修改点确认按钮时完成
flywolfa188 2003-08-24
  • 打赏
  • 举报
回复
不是的 ,我是想在点关闭钮时出现这个对话框,而在密码修改点确认按钮时,完成修改同时关闭窗口而不出现对话框.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧