初始化时 b=Checked属性click() begin if Checked属性=b then ..... else exit; end;
这样用d5上通过: var ev:tnotifyevent; begin ev:=radiobutton1.OnClick; radiobutton1.OnClick:=nil; radiobutton1.Checked:=true; radiobutton1.OnClick:=ev;
你是不是有时要用Chick事件有时不用啊,要是这样的话设个FLAG变量就可以了啊
补充:这个是在你修改radiobutton1.checked中的那个程序中使用,我想这个应能满足你的要求. 附加解释:tnotifyevent是一个过程类型,而radiobutton1.onclick事件就是属于这种的类型,然而你只要把这个onclick的指针先指到一个临时的EV这个变量中,把ONCLICK的指针清空,这样你改变radiobutton1.checked它就不会击发ONCLICK事件改完之后,再把ev的指针再指给onclick,如果你不样做的话,以后点击radiobutton1时就不会触发onclick事件. var ev:tnotifyevent; begin ev:=radiobutton1.OnClick; radiobutton1.OnClick:=nil; radiobutton1.Checked:=true; radiobutton1.OnClick:=ev;........
我的问题是:
请问能否屏蔽掉,当修改RadioButton控件的Checked属性时,所触发的Click()事件。但是Click()事件又是在编程中所要用到的事件。逻辑上很矛盾,可老板要这样。
b=Checked属性click()
begin
if Checked属性=b then .....
else exit;
end;
var
ev:tnotifyevent;
begin
ev:=radiobutton1.OnClick;
radiobutton1.OnClick:=nil;
radiobutton1.Checked:=true;
radiobutton1.OnClick:=ev;
附加解释:tnotifyevent是一个过程类型,而radiobutton1.onclick事件就是属于这种的类型,然而你只要把这个onclick的指针先指到一个临时的EV这个变量中,把ONCLICK的指针清空,这样你改变radiobutton1.checked它就不会击发ONCLICK事件改完之后,再把ev的指针再指给onclick,如果你不样做的话,以后点击radiobutton1时就不会触发onclick事件.
var
ev:tnotifyevent;
begin
ev:=radiobutton1.OnClick;
radiobutton1.OnClick:=nil;
radiobutton1.Checked:=true;
radiobutton1.OnClick:=ev;........