动态添加的子菜单,单击事件我该去哪写呀??FButton.Items[0].Click;

解决方案 »

  1.   

    在创建的时候指定事先定义好的onclick事件
      

  2.   

    在窗体下定义一个处理函数,例如:TForm1.OnMenuClick(Sender:TObject);
    begin
      ShowMessage('点击事件');
    end;动态创建子菜单时FButton.Items[0].OnClick:=OnMenuClick;
      

  3.   

    private
    procedure OnMenuClick(Sender:TObject);....TForm1.OnMenuClick(Sender:TObject);
    begin
    Reopen:=(sender as Tmenuitem).tag;
    end;...        for i:= 1 to Num do
            begin
              MenuItem := TMenuItem.Create(self);
              MenuItem.OnClick;=OnMenuClick;
              OldFile := ReadString('Openlist',inttostr(i),'无');
              MenuItem.Tag := i;
              MenuItem.Action :=  FileReOpen;
              MenuItem.Caption := OldFile;
              MenuItem.ImageIndex := 48;
              FBtnReopen.Add(MenuItem);
              MenuItem.Clear;
            end;
      

  4.   

    谢谢 IDWB() 大哥了,我看了,应该可以,但是,我还没去试,现在忙其他的,一会去,呵呵.
    另外,楼上的大哥,用ActionList管理的话是不是传不了参数,上了几个子菜单的情况就不知道点了哪个了.