我给一些Edit绑定了OnChange事件,但我有时想暂时屏蔽这一特性,我该如何做。(20分)

  • 主题发起人 主题发起人 Boblee
  • 开始时间 开始时间
B

Boblee

Unregistered / Unconfirmed
GUEST, unregistred user!
想暂时屏蔽这一特性的时候:
我是用OnChange事件来控制一个全局变量:isDirty,而这个变量是用来当用户想退出程序时
我是否要提示用户保存变动用的。但现在的问题是,我在程序中如果打开一个已有的我程序
做的项目,这其中会对这些EDIT进行重新设值,这肯定就触发了OnChange事件,所以就出现以下
这种情况:用户打开一个文件后,没做任何变动,我的程序也会提示让用户是否要保存。
我该如何处理这事?
 
procedure MyChange(Sender: T...);
begin
......
end;

OnChange := NIL;
OnChange := MyChange;
 
1。 如果在form。showing的情况下赋值,可以再增加一个全局变量,changeflag,
打开项目之前changeflag:=false;赋值之后changeflag:=true;
onchange中:if changeflag then
ifdirty:=true;
2。如果是先将form.edit赋值,再form.show,
onchange中:if form.showing then
ifdirty:=true;
 
两位兄,我先试一下。万分谢谢你们的答复。:)
 
后退
顶部