if assigned(button1.onclick) then
begin
...
end;
这样不行?不知为什么?

解决方案 »

  1.   

    设一个私有变量btnCliFlag
    在formshow的时候
    btncliflag:=false;
    在点击时
    btncliflag := true;
      

  2.   

    assigned是用来判断一个指针是否为空,不能这样用
      

  3.   

    用一个变量
    clicked:boolean;
    Procedure TForm1.Button1OnClick(Sender:TObject);
    begin
    clicked:=true;
    end;if clicked=true then 点过了 else 没点过
      

  4.   

    用: AirFish(铁甲飞鱼)的方法是可以实现..
      

  5.   

    就像楼上说的,要借助变量简单点的click的时候tag:=1;然后判断button.tag
      

  6.   

    对,加一个全局的Boolean变量判断
      

  7.   

    新建一个变量干嘛?利用对象已有变量啊Procedure TForm1.Button1OnClick(Sender:TObject);
    begin
      Button1.tag:=1;
    end;判断Button1的Tag是否为1就表示是否按过
      

  8.   

    如果button是自己写的,上面都对
    可是button不是自己写的,是另外的一个EXE程序,那怎么办了?
      

  9.   

    rouqing(*冰雨&双子座奇缘*) :能不用全局变量最好不用,
     cdsgajxlp(起名很难) :只要你能找到这个BUTTON在系统中的句柄 ,然后用钩子分析,应该可以
      

  10.   

    onclick 事件中
    btn.tag := 1