首页 > 其他分享 >(12)动态生成菜单及绑定自定义事件

(12)动态生成菜单及绑定自定义事件

时间:2024-02-02 18:46:23浏览次数:32  
标签:SQLQuery1 Begin 12 End Sender 自定义 绑定 AddCollctMenus TMenuItem

var
  AddCollctMenus: Array Of TMenuItem;   //动态菜单        

 

procedure TForm1.Button5Click(Sender: TObject);
Var
  i, AddCollctMenuCount: Integer;
Begin
  AddCollctMenuCount := Length(AddCollctMenus) - 1;
  For i := 0 To AddCollctMenuCount Do   Begin
    FreeAndNil(AddCollctMenus[i]);
  End;

  With SQLQuery1 Do      Begin
    CLOSE;
    SQL.Clear;
    SQL.Add('select id,username,password  from userinfo');
    OPEN;
    SetLength(AddCollctMenus, SQLQuery1.RecordCount);
    First;
    i := 0;
    While Not Eof Do
    Begin
      AddCollctMenus[i] := TMenuItem.Create(Self);
      With AddCollctMenus[i] Do
      Begin
        OnClick := MenuItem2.OnClick;
        //AutoHotkeys := maAutomatic;
        Tag:= SQLQuery1.FieldByName('id').AsInteger;               //
        Hint := SQLQuery1.FieldByName('password').AsString;        //  有三个变量可以传递 到 菜单。
        Caption := SQLQuery1.FieldByName('username').AsString;     //
      End;
      CollPopMenu.Add(AddCollctMenus[i]);
      Inc(i);
      NEXT;
    End;
  End;
End;  

 

 

procedure TForm1.MenuItem2Click(Sender: TObject);
begin              //  有三个变量可以传递 到 菜单
  showmessage((Sender As TMenuItem).Hint);
  showmessage((Sender As TMenuItem).Caption);
  showmessage((Sender As TMenuItem).Tag.ToString);
end;    

 

标签:SQLQuery1,Begin,12,End,Sender,自定义,绑定,AddCollctMenus,TMenuItem
From: https://www.cnblogs.com/tulater/p/18003663

相关文章

  • AWR1243+DCA100——数据读取(基于mmWave Studio LUA和MATLAB)
    参考文献:[1]扬帆起航:毫米波雷达开发手册之硬件配置[2]使用LUA脚本,通过Matlab控制mmWaveStudio,一键实现DCA1000参数配置和雷达数据采集文献[1]详细介绍了利用mmWaveStudio的lua语言,基于Matlab对雷达板AWR1243进行参数配置和回波数据读取的解决方案,文献[2]是对文献[1]的增补......
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
     最近在部署项目的是否需要安装sqlserver2008r2,前提条件,服务器需要安装.netframework3.5 服务器环境是windowsserver2012r2,然后;net3.5安装正常流程安装,一直装不上,网上有很多方法,但都解决不了,后面还是一个博主提到了阿里云,然后找到了解决方案,太难了 目前已安装补丁......
  • Poj3126 Prime Path (BFS+筛素数)
    #include<iostream>#include<queue>#include<cstring>constintN=10010;intt,aa,bb,prime[N],vis[N],step[N];usingnamespacestd;voidprime_(){//埃式筛法prime[0]=prime[1]=1;for(inti=2;i<10000;i++){if(prime[i])contin......
  • CSharp: QuestPDF 2023.12.4 in doenet 8.0
     /*ide:vs202217.5.net8.0QuestPDF23.12.4from:https://github.com/QuestPDF/QuestPDF/discussions/560*/namespaceConsoleAppFontPdfDemo{usingQuestPDF;usingQuestPDF.Fluent;usingQuestPDF.Infrastructure;usingQuest......
  • P9612 [CERC2019] Light Emitting Hindenburg 题解
    题目传送门题目大意这个题目简化一下就是求\(n\)个数中取\(k\)个数按位与的最大值思路很容易想到贪心。题中说道输入的数在二进制下最多\(29\)位,所以我们从\(29\)开始遍历二进制位,如果当前位有大于等于\(k\)个\(1\),那么标记一下这些数,可以发现剩下的比当前位低的......
  • WPF Prism,mvvm模式下,DataGrid中一列CheckBox的勾选的绑定
    背景WPF+Prism,View和ViewModel,通过Binding来实现数据的更新和界面的刷新,我的需求是做一个表格,第一列为CheckBox,同时这一列的header也是CheckBox,勾选了header的CheckBox,可以实现所有行的CheckBox全选的功能界面如下:实现方法xaml代码:<DataGridx:Name="dgRoundRobin"......
  • OpenWrt之自定义Hostname
    OpenWrt之自定义Hostname找到对应的代码,在feeds/./luci/modules/luci-lua-runtime/luasrc/sys.lua中,有cur:foreach("dhcp","dnsmasq",function(s)ifs.leasefileandfs.access(s.leasefile)then......
  • TP5框架 之自定义标签
    一、创建控制器<?phpnamespaceapp\common\taglib;usethink\auth\Auth;usethink\template\TagLib;classMyTagextendsTagLib{protected$tags=['auth'=>['attr'=>'rule','close'=>1......
  • OpenWrt之自定义Firmware Version
    OpenWrt之自定义FirmwareVersion首先,找到显示FirmwareVersion的代码,在/usr/lib/lua/luci/version.lua中:root@OpenWrt:/usr/lib/lua/luci#catversion.lualocalpcall,dofile,_G=pcall,dofile,_Gmodule"luci.version"ifpcall(dofile,"/etc/openwrt_rele......
  • 12种管理激励方式,让组织超高绩效!
    榜样激励在任何一个组织里,管理者都是下属的镜子。可以说,只要看一看这个组织的管理者是如何对待工作的,就可以了解整个组织成员的工作态度。”其身正,不令而行;其身不正,虽令不从。”要让员工充满激情地去工作,管理者就先要做出一个样子来,良好的领导作风是无形的命令,又是有形的榜样,能......