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 ...
随机推荐
- 4'.deploy.prototxt
1: 神经网络中,我们通过最小化神经网络来训练网络,所以在训练时最后一层是损失函数层(LOSS), 在测试时我们通过准确率来评价该网络的优劣,因此最后一层是准确率层(ACCURACY). 但是当我们真 ...
- final 在 java 中有什么作用?(未完成)
final 在 java 中有什么作用?(未完成)
- 配置linux ftp服务器,客户端报list remote folder fail
XFTP出现列表文件夹失败.主要是因为FTP模式不对,应该为主动连接模式, 可以在设置主机属性 - 选项页签 - 将默认勾选的“使用被动模式”(使用消极模式)的多选框取消...就可以了...
- docker 查看系统进程pid
docker inspect -f '{{.State.Pid}} {{.Id}}' $(docker ps -a -q)
- elementUI 上传文件图片大小加了限制后 仍然上传了
https://blog.csdn.net/chanlingmai5374/article/details/80558444 看了这位老哥的说法 在看看文档 才发现自己没认真看文档 <el-u ...
- Codeforces Round #588 (Div. 2) A. Dawid and Bags of Candies
链接: https://codeforces.com/contest/1230/problem/A 题意: Dawid has four bags of candies. The i-th of th ...
- 01_Deepin15 下搭建python开发环境
https://blog.csdn.net/iimpact/article/details/90239193 https://github.com/josonle/Coding-Now#Linux系统 ...
- [ML] The Basics: Training Your First Model
The problem we will solve is to convert from Celsius to Fahrenheit, where the approximate formula is ...
- [React] Reduce Code Redundancy with Custom React Hooks
In this lesson, we'll cover how to create a custom React hook for managing the state of any input. T ...
- Java项目出现的问题--学习--SSM
01 反向工程正常运行但是没有出现应该有的包 进行反向工程时记得要刷新一下才能看到的 03 复制包只有当前目录的包,目录下的文件不包含 当sec下的包以hierarcical形式排布时复制只能复制当前 ...