我想在所有EDIT双击取值时候执行一个段代码;IF not CHECKGRANT(‘修改’,‘张三’) THEN
BEGIN
    showmessage('你无【修改】权限');
    EXIT;
END;因为很多EDIT控件,我不想在每个EDIT的双击事件都写这个判断。

解决方案 »

  1.   

    将多个Edit控件的OnDblClick事件都向同一个处理函数即可。
      

  2.   

    Edit2、3、4的OnDblClick事件在事件属性窗口那里都指向Edit1的OnDblClick事件
      

  3.   

    或是弄个actionlist,然后指定edit的双击事件指定为其中的一个action
      

  4.   

    同意楼上的,
    类似,遍历控件,赋值
    for i:=0 to 父控件.controlcount-1 then
    begin
      if 父控件.Controls[i].InheritsFrom(TCustomEdit) then
      begin
        TCustomEdit(父控件.Controls[i]).OnDblClick:=Edit1DblClick;
      end;
    end;
      

  5.   

    TCustomEdit(父控件.Controls[i]).OnDblClick:=Edit1DblClick;
     这句报错!
      

  6.   

    好麻烦的,有10多个EDIT控件,而且每个双击都写有代码!如果想方便一些的话,可以把这些双击的代码都写到一个函数中去,在这个函数开始的时候执行我说的那个判断,就可以了。我是想找个不需要修改很大的方法。