你可以预先编写好几个事件处理函数
到时可根据情况
用childmenu.onclick:=你的函数就行
注意函数参数必须一致

解决方案 »

  1.   

    先实现你要动态添加事件的函数,比如我实现了一个函数:ClickFunc1,CLickFunc2然后给该事件句柄(childmenu.onclick)赋值,

    1.使该事件执行ClickFunc1的函数
    childmenu.onclick=ClickFunc1;2.使该事件执行ClickFunc2的函数
    childmenu.onclick=ClickFunc1;3.不触发该事件
    childmenu.onclick=Nil;
      

  2.   

    to lpk: 我做出的菜单是动态的childmenu是一个从表中调出的(循环添加).
          for i:=0 to query1.recordcount-1 do 
             begin
                 query1.next;
                 mtag:=strtoint(query1.fieldbyname('tag').asstring);
                 childmymenu:=query1.FieldByName('menuitem').AsString;
                 childmenu:=tmenuitem.Create(self);
                 childmenu.tag:=mtag;
                 if mtag=1 then
                    childmenu.enabled:=false;
                 childmenu.caption:=childmymenu ;
                 menuitem[i].Add(childmenu);////////////添加子菜单
             end;  {for}
    我不知道如何的动态的添加事件?