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

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

时间:2024-02-04 10:06:18浏览次数:41  
标签:SQLQuery1 Begin 12 End Sender 自定义 绑定 AddCollctMenus TMenuItem

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

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

 

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;

 

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

 

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

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

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

 

标签:SQLQuery1,Begin,12,End,Sender,自定义,绑定,AddCollctMenus,TMenuItem
From: https://blog.51cto.com/u_15216366/9576596

相关文章

  • 零基础入门Vue之皇帝的新衣——样式绑定
    回顾大致掌握了上一节的插值语法我已经可以把想要的数据显示到页面上,并且仅需要修改变量,页面就会跟着实时改变但如果对于已经熟悉前端的人来说,单单有数据还是不太行,还需要css对数据进行样式的修饰,让页面更加好看所本篇将记录记录Class与Style绑定的学习总所周知,想要给D......
  • CH9120 TFTP使用详解
    一、TFTP简介:TFTP是基于UDP应用层的简单的文件传输协议,端口号为69,TFTP协议主要应用于网络引导、配置文件传输等场景。二、报文介绍:TFTP有四种数据包格式,分别是读/写请求包、文件数据包、回应包和错误信息包。读/写请求包操作码,它的值为1表示读操作,2表示写操作;文件名,它是一......
  • 0129-0203部分校赛题解复盘
    vj第一场A题https://codeforces.com/gym/103480/problem/A该题让我们可以从回文串的特点入手,即两个相同的字母便可增加长度2,所以并不用思考该回文串要如何排序出来,而是看有多少对相同的字母,使用map<char,int>来记录字母出现的次数,再计算可以除以2的次数即可。点击查看代码#i......
  • hdu 1312 Red and Black (BFS模板题)
    Problem-1312(hdu.edu.cn)BFS模板题#include<iostream>#include<queue>usingnamespacestd;typedeflonglongll;constintINF=0x3f3f3f3f;intwx,hy,num;charroom[25][25];#defineCHECK(x,y)(x>=0&&x<wx&&y>=0&&am......
  • antd upload组件缩略图自定义
    antd组件的缩略图使用img标签即可实现,我们这里有一个3D文件显示2D缩略图的需求,而这个缩略图是后台从接口返回的,所以需要自定义缩略图。 这里的imageUrl就是你要的缩略图用到了官网案例的将图片转为base64,具体的方法看官网。在这里还有最最重要的一个点就是得控制它的样式,不......
  • hdu1240 Asteroids! (三维BFS)
    Problem-1240(hdu.edu.cn)三维的BFS,存在一个坐标点的变换,即输入的是(y,z,x),进行转换即可#include<iostream>#include<queue>#include<cstring>usingnamespacestd;intn,x1,y1,z1,x2,y2,z2,flag,vis[20][20][20];charroom[20][20][20];structnode{int......
  • 在Vue中如何动态绑定class和style属性
    在Vue中,动态绑定class和style属性是我们经常遇到的需求。这个功能允许我们根据不同的条件来动态改变元素的样式,让我们的应用更加灵活和富有交互性。在本篇博客文章中,我将带你深入探索在Vue中如何实现这一功能。首先,让我们了解一下Vue中的class绑定。Vue提供了一种简洁而强大的语法......
  • 自定义一个QAbstractItemView控件
    本文是模仿某些软件里的控件样式。在组合框里选择具有两级结构的数据,比如选某省->某市类似的数据。下述代码在VS2015和Qt5.9中测试通过。其运行效果如图。为了展示更多的功能,我还特地实现了滚动条的功能:头文件:classMItemView:publicQAbstractItemView{Q_OBJECTpub......
  • AWR1243+DCA100——二维孔径
    利用AWR1243,通过二维滑轨的机械扫描实现二维平面孔径,可以获取目标场景的三维信息,实现3D成像(水平-垂直-深度)。概念图如下:参考:[1]Yanik.Simplified-2D-mmWave-Imaging](https://github.com/meminyanik/Simplified-2D-mmWave-Imaging)[2]YanikM,TorlakM.Millimeter-wave......
  • 12. C++ 类其实也是一种作用域
    C++类其实也是一种作用域类其实也是一种作用域,每个类都会定义它自己的作用域。在类的作用域之外,普通的成员只能通过对象(可以是对象本身,也可以是对象指针或对象引用)来访问,静态成员既可以通过对象访问,又可以通过类访问,在类内用typedef定义的类型只能通过类来访问。下面的例子使......