TMainMenu 类[三] - 手动建立菜单(5) : 给菜单项添加事件
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus; type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure Proc(Sender: TObject); {声明将要被调用的方法}
end; var
Form1: TForm1; implementation {$R *.dfm} var
MyMenu: TMainMenu;
Item: TMenuItem; {实现将要被调用的方法}
procedure TForm1.Proc(Sender: TObject);
begin
if Sender is TMenuItem then
ShowMessage(TMenuItem(Sender).Caption);
end; procedure TForm1.FormCreate(Sender: TObject);
var
Itemd: TMenuItem;
begin
MyMenu := TMainMenu.Create(Self);
MyMenu.AutoHotkeys := maManual;
Self.Menu := MyMenu; Item := TMenuItem.Create(MyMenu);
Item.Caption := 'AA';
MyMenu.Items.Add(Item); Itemd := TMenuItem.Create(MyMenu);
Itemd.Caption := 'A&1';
Itemd.OnClick := Proc; {调用方法}
Item.Add(Itemd); Itemd := TMenuItem.Create(Item);
Itemd.Caption := 'A&2';
Itemd.OnClick := Proc; {调用方法}
Item.Add(Itemd);
end; end.
效果图:
不过, 菜单事件一般是使用 ActionList 的, 添加一个 ActionList 同时添加一个方法, 实现和上面同样的功能:
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ActnList; type
TForm1 = class(TForm)
ActionList1: TActionList;
Action1: TAction;
procedure FormCreate(Sender: TObject);
procedure Action1Execute(Sender: TObject);
end; var
Form1: TForm1; implementation {$R *.dfm} var
MyMenu: TMainMenu;
Item: TMenuItem; procedure TForm1.Action1Execute(Sender: TObject);
begin
if Sender is TMenuItem then
ShowMessage(TMenuItem(Sender).Caption);
end; procedure TForm1.FormCreate(Sender: TObject);
var
Itemd: TMenuItem;
begin
MyMenu := TMainMenu.Create(Self);
MyMenu.AutoHotkeys := maManual;
Self.Menu := MyMenu; Item := TMenuItem.Create(MyMenu);
Item.Caption := 'AA';
MyMenu.Items.Add(Item); Itemd := TMenuItem.Create(MyMenu);
Itemd.Caption := 'A&1';
Itemd.OnClick := Action1Execute; {调用方法}
Item.Add(Itemd); Itemd := TMenuItem.Create(Item);
Itemd.Caption := 'A&2';
Itemd.OnClick := Action1Execute; {调用方法}
Item.Add(Itemd);
end; end.
TMainMenu 类[三] - 手动建立菜单(5) : 给菜单项添加事件的更多相关文章
- 第二百三十七节,Bootstrap图标菜单按钮组件
Bootstrap图标菜单按钮组件 学习要点: 1.小图标组件 2.下拉菜单组件 3.按钮组组件 4.按钮式下拉菜单 本节课我们主要学习一下 Bootstrap 的三个组件功能:小图标组件.下拉菜单组 ...
- .net core3.1 abp动态菜单和动态权限(动态菜单实现和动态权限添加) (三)
我们来创建动态菜单吧 首先,先对动态菜单的概念.操作.流程进行约束:1.Host和各个Tenant有自己的自定义菜单2.Host和各个Tenant的权限与自定义菜单相关联2.Tenant有一套默认的菜 ...
- 【转】Android 菜单(OptionMenu)大全 建立你自己的菜单--不错
原文网址:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html 菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中, ...
- Android 菜单(OptionMenu)大全 建立你自己的菜单
转自:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html 菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单 ...
- 阿里云服务器:IIS网站的架设(一、环境设置与安装IIS网站 二、网站的基本设置 三、建立新网站(未完待续))
Windows Server 2012 R2的Internet Information Services (IIS)网站的模块化设计,可以减少被攻击面并减轻管理负担,让系统管理员更容易架设安全的具备高 ...
- NeuChar 平台使用及开发教程(三):使用 NeuChar 的菜单服务
上一篇<NeuChar 平台使用及开发教程(二):设置平台账号>我们已经完成了平台账号的设置,下面就马上来体验一下自定义菜单的设置吧! 进入某个 Neural Cell 的设置界面,在右侧 ...
- File类三种得到路径的方法
转: File类三种得到路径的方法 2010年11月29日 20:37:00 ssyan 阅读数:27123 标签: filemicrosoftstringexceptionwindowsunix ...
- 手动建立mapping以及增加属性
只能创建index时手动建立mapping,或者新增field mapping,但是不能update field mapping 1.手动建立mappingPUT /website{ "ma ...
- 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询
前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...
随机推荐
- Git---初入开源代码管理库的学习过程003
Git常用命令总结 上接<Git 初入开源代码管理库的学习过程>学了一周Git,基本有了个认识.每一位比我厉害的,都是大牛,网上找了几篇博客和教材(感谢你们),边学习边实践用了四天,写笔记 ...
- easyui tree选中指定节点,点击指定节点
功能需求描述如下: A主页面,在datagrid的某行上,操作列,点击详情,Tab页面上加载B页面 B页面,左边是树tree,右边是左边树的详情列表 要求:由A页面链接到B页面,B页面的tree,默认 ...
- 第一份c语言作业
2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样? •答案: 软件工程专业是个年轻的专业,紧跟这个信息化的新时代.我学习它是因为感兴趣,经过一周的学习,我了解了一些 该专业课程主要是c语言程 ...
- STM32调试利器之ITM
原创: Osprey 鱼鹰谈单片机 2月17日 STM32 有一个代码跟踪功能,即 ITM,这个调试功能非常强大,可以替代串口输入输出功能,而且只需要占用一根 I/O 线就可以实现.当然它的好处不仅 ...
- 解读>/dev/null 2>&1
背景 我们经常能在shell脚本中发现>/dev/null 2>&1这样的语句.以前的我并没有去深入地理解这段命令的作用,照搬照用,今天开始去解读>/dev/null 2&g ...
- 在laravel5.8中集成swoole组件----初步测试
铺垫 前提是先安装swoole组件,我采用从pecl-----php扩展组件网下载swoole扩展包,然后切入到解压缩的扩展包中运行phpize命令, phpize是一种编译命令,可以在安装文件中生成 ...
- vscode 远程编辑文件
操作 安装扩展 remote-vscode 配置ssh 转发: 添加 RemoteForward 52698 127.0.0.1:52698 到 ~/.ssh/config: # Read more ...
- pypdf2:下载Americanlife网页生成pdf合并pdf并添加书签
初步熟悉 安装 pip install pypdf2 合并并添加书签 #!/usr/bin/env python3.5 # -*- coding: utf-8 -*- # @Time : 2019/1 ...
- React-router的使用:标签跳转和编程式跳转
目录: 1.demo:NavLink 标签跳转 2.标签渲染路由组件时,获取url参数 3.编程式跳转 参考文档 1)https://reacttraining.com/react-router/we ...
- JSP大文件分片上传
核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...