关闭窗体时,提示保存问题(轻松赚分)(30分)

  • 主题发起人 主题发起人 yan_er
  • 开始时间 开始时间
Y

yan_er

Unregistered / Unconfirmed
GUEST, unregistred user!
关闭窗体时,如果执行了Button1的操作,Formclose时就不提醒执行,
若没有执行Button1的操作,Formclose时就执行Button1的操作。
这该怎么实现?
'没有执行Button1的操作'该怎么用语句表达?
 
用一个全局变量吧。如果点了Button1是一个值,不点是另一个值,看你得到哪个值就做相
应的事哟。
比如:
private
Btnbool:Boolean;
………
在Button1Click中
if BtnBool then
btnBool:=false; //true表示未点Button ,false表示点了。
……

在formClose中,
if BtnBool=false then
close
else
showmessage('你还没点Button1');
 
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if (Application.messagebox('退出?','确认',MB_YESNO)=IDNO)then
CanClose:=False;
end;
 
用Button1.Tag来保存是否执行过Button1。

在Button1Click中
procedure TForm1.Button1Click(Sender: Tobject);
begin
...//执行Button1的事件
Tag:=1;
end;
然后
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Button1.Tag<1 then
if (Application.messagebox('退出?','确认',MB_YESNO)=IDNO) then
CanClose:=False;
else
CanClose:=True;
end;
//我不用Delphi,错了莫怪。
 
同意大花鸡, Demander,
 
设一个全局变量,或者 用 tag 属性,设一个值,在 formclose中判断 tag是否等于这个值。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部