如何暂时屏蔽一个事件(50分)

  • 主题发起人 主题发起人 xbeing
  • 开始时间 开始时间
X

xbeing

Unregistered / Unconfirmed
GUEST, unregistred user!
刚刚入门,多多指教
问题如下:对一个button1的onclick events,开始在设计时为button2click,
如何在运行时暂时屏蔽这个事件或者暂时响应另一个事件,如button3click,
请指点迷津,谢谢
 
直接在button2click中写代码调用button3click不一样吗?
 
我都试过,都不行,我实际是要屏蔽一个OnDblclick事件或者是换一个响应事件,照xeen兄所述的方法,还是不行
急切急切!!!!!!
 
不用屏蔽,在事件中加一全局布尔变量做标记,根据其值判断是否执行事件中的代码
你要“暂时屏蔽”,则改该变量的值即可

如果是要转换一个事件,建议把事件里要执行的内容放到一个自定义过程中,然后根据
标记的值执行不同的过程
 
var aa : TNotifyEvent ;
begin
aa := Button2.OnClick ;
button1.OnClick := nil ;{或者其他的一些操作}
『过了一会』
button1.OnClick := aa;
end
 
建议用标志值来判断是否执行onClick事件
 
事件是实际上是一个指针,它指向一个procedure的入口以响应一定的消息。
所以可以把它设为nil以不作出任何响应:
button1.onclick:=nil;
也可以设成另一个procedure的入口:
butoon1.onclick:=button3click;
 
谢谢你们的答案,我受益匪浅
 
后退
顶部