zoukankan      html  css  js  c++  java
  • 动态创建菜单和动态关联菜单项事件

    //动态创建四级菜单
    var
      MainMenu:TMainMenu;
      SubMenu,SubMenu2,submenu3,submenu4:TMenuItem;

      MainMenu:=TMainMenu.Create(self);
      MainMenu.AutoHotkeys:=maManual;

        SubMenu:=TMenuItem.Create(self); 
        SubMenu.Caption:='一级菜单';
        MainMenu.Items.Add(SubMenu);

            SubMenu2:=TMenuItem.Create(self); 
            SubMenu2.Caption:='二级菜单';
            SubMenu.Add(SubMenu2);

                submenu3:=TMenuItem.Create(self);  
                submenu3.Caption:='三级菜单';
                submenu2.Add(submenu3);

                    submenu4:=TMenuItem.Create(self); 
                    submenu4.Caption:='四级菜单';
                    submenu3.Add(submenu4);

    //动态给四级菜单关联事件
    procedure LinkEvent;
    var
      i,j,k,l,t:Integer;
    begin
      for i:=0 to MainMenu.Items.Count-1 do
      begin
        for t:=Low(ss) to High(ss) do
          if MainMenu.Items[i].Caption=ss[t] then
            MainMenu.Items[i].OnClick:=MenuItemClick;
        for j:=0 to MainMenu.Items[i].Count-1 do
        begin
          for t:=Low(ss) to High(ss) do
            if MainMenu.Items[i].Items[j].Caption=ss[t] then
              MainMenu.Items[i].Items[j].OnClick:=MenuItemClick;
          for k:=0 to MainMenu.Items[i].Items[j].Count-1 do
          begin
            for t:=Low(ss) to High(ss) do
              if MainMenu.Items[i].Items[j].Items[k].Caption=ss[t] then
                MainMenu.Items[i].Items[j].Items[k].OnClick:=MenuItemClick;
            for l:=0 to MainMenu.Items[i].Items[j].Items[k].Count-1 do
              for t:=Low(ss) to High(ss) do
                if MainMenu.Items[i].Items[j].Items[k].Items[l].Caption=ss[t] then
                  MainMenu.Items[i].Items[j].Items[k].Items[l].OnClick:=MenuItemClick;
          end;
        end;
      end;
    end;

    //动态菜单数据表设计

    菜单树

    层次序列号  功能编号  功能名称  标识  是否激活
    ccxlh  gnbh  gnmch  biaoshi  beactive
    00                                采购管理                                              是
    0000                              合同管理                                              是
    000000                HET001A      合同登记                                              是
    000001                HET001B      合同审核                                              是
    000002                HTWENDANG    合同文档管理                                          是
    0001                              采购订单                                              是
    000100                JHF110A      采购订单                                              是
    000101                JHF110C      采购订单删除                                          是
    000102                JHF110B      采购订单审核                                          是
    0002                              采购入库业务                                          是
    000200                JHG112A      采购开票单据                                          是
    000201                JHG112B      采购开票单据审核                                      是

  • 相关阅读:
    京东入职一周感悟:4个匹配和4个观点
    京东入职一周感悟:4个匹配和4个观点
    提高生产力:小雷之问和京东之答
    提高生产力:小雷之问和京东之答
    精益创业和画布实战(1):变革家,让天下没有难懂的生意
    .Net进阶系列(15)-异步多线程(线程的特殊处理和深究委托赋值)(被替换)
    .Net进阶系列(14)-异步多线程(async和await)(被替换)
    .Net进阶系列(13)-异步多线程(Task和Parallel)(被替换)
    .Net进阶系列(12)-异步多线程(Thread和ThreadPool)(被替换)
    .Net进阶系列(11)-异步多线程(委托BeginInvoke)(被替换)
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2941024.html
Copyright © 2011-2022 走看看