动态创建的菜单项,如果几个菜单项共用一个onClick过程,如何判断当前点击的是哪一个项? 如何获取其索引值?(myzhz1978)

解决方案 »

  1.   

    可以的,在Click响应事件的参数中有个Sender,利用它就可以
      

  2.   

    (Sender as TMenuItem).tag=1 表示第一个, 但必须在动态创建时给这些TMenuItem加上tag标志
      

  3.   

    在Click响应事件的参数中有个Sender,利用它就可以=============================对的。 很正确procedure TFormDemo.MenuItemClick(Sender: TObject);
    var
      CurrentIndex: Integer;
      CurrentCaption: string;
    begin
      if Sender is TMenuItem then
      begin
        CurrentIndex := Mainmenu.Items.IndexOf(TMenuItem(Sender));
        CurrentCaption := TMenuItem(Sender).Caption;
      end;
      //......
    end;