zoukankan      html  css  js  c++  java
  • delphi创建动态菜单

    1.动态生成菜单项

    var
    FirstItem: TMenuItem;
    SecondItem: TMenuItem;

    begin
    FirstItem := TMenuItem.Create(Self);
    FirstItem.Caption := ‘FirstName’;
    PopupMenu1.Items.Add(FirstItem); //添加一级分类

    SecondItem := TMenuItem.Create(Self);
    SecondItem.Caption := ‘SecondName’;
    FirstItem.Add(SecondItem);//添加二级分类

    ThirdItem := TMenuItem.Create(Self);
    ThirdItem.Caption := ‘ThirdName’;
    ThirdItem.OnClick := MenuClick;
    SecondItem.Add(ThirdItem);//添加三级节点

    end;

    2.自定义动态菜单的事件

    //先自定义一个函数

    procedure TForm1.MenuClick(Sender: TObject);
    var
    i: Integer;
    begin
    ShowMessage(TMenuItem(Sender).Caption);//显示当前点击的菜单项的Caption
    end;

    //将自定义函数赋给菜单项

    FirstItem := TMenuItem.Create(Self);
    FirstItem.Caption := FirstName;
    FirstItem.OnClick := MenuClick; //增加这句
    PopupMenu1.Items.Add(FirstItem); //添加一级分类

    3.去掉菜单项Caption中的&符号

    FirstItem := TMenuItem.Create(Self);
    FirstItem.AutoHotkeys := maManual;//增加这句
    PopupMenu1.AutoHotkeys := maManual;//或者增加这句
    FirstItem.Caption := ‘FirstName’;
    FirstItem.OnClick := MenuClick;
    PopupMenu1.Items.Add(FirstItem); //添加一级分类

  • 相关阅读:
    How to print GETDATE() in SQL Server with milliseconds in time?
    StarLink卫星网络如何工作
    Chinasat16
    天线增益计算
    Schemachine
    源代码之整洁代码
    关于进程内缓存与分布式缓存
    IOT物联网时代测试演化
    互联网大促运维实践案例
    Kubernetes应用场景
  • 原文地址:https://www.cnblogs.com/jijm123/p/7456325.html
Copyright © 2011-2022 走看看