社区
Delphi
帖子详情
请问怎样获得PopupMenu每个item的索引值?
KingI
2005-11-08 07:42:10
比如这个popupmenu中有"cut, copy, paste"3个选项, 它们都是动态创建的, 那么执行OnClick后,怎样知道选的是哪个item?
...全文
202
6
打赏
收藏
请问怎样获得PopupMenu每个item的索引值?
比如这个popupmenu中有"cut, copy, paste"3个选项, 它们都是动态创建的, 那么执行OnClick后,怎样知道选的是哪个item?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cncharles
2005-12-04
打赏
举报
回复
(Sender as TMenuItem).MenuIndex;
就可以得到Itme的Index.
***********************************
高级群号:16497064欢迎编程高手加入.
***********************************
ccrun.com
2005-12-03
打赏
举报
回复
晕。非要说的很详细才行吗?
在Form类中添加一行:
private
procedure MyMenuItemClick(Sender: TObject);
然后:
procedure TForm1.Button1Click(Sender: TObject);
var
miCut, miCopy, miPaste: TMenuItem;
begin
miCut := TMenuItem.Create(PopupMenu1);
miCut.Caption := '&Cut';
miCut.Tag := 1;
miCut.OnClick := MyMenuItemClick;
PopupMenu1.Items.Add(miCut);
miCopy := TMenuItem.Create(PopupMenu1);
miCopy.Caption := '©';
miCopy.Tag := 2;
miCopy.OnClick := MyMenuItemClick;
PopupMenu1.Items.Add(miCopy);
miPaste := TMenuItem.Create(PopupMenu1);
miPaste.Caption := '&Paste';
miPaste.Tag := 3;
miPaste.OnClick := MyMenuItemClick;
PopupMenu1.Items.Add(miPaste);
end;
procedure TForm1.MyMenuItemClick(Sender: TObject);
begin
case (Sender as TMenuItem).Tag of
1:
ShowMessage('Cut');
2:
ShowMessage('Copy');
3:
ShowMessage('Paste');
end;
end;
ophn8888
2005-12-03
打赏
举报
回复
不用这么麻烦,直接在popupmenu中item每个autocheck设置为true,每次只要遍历一下就知道了
surdon
2005-11-08
打赏
举报
回复
设置TAg 值 然后所有的事件都 指到
case TComponent(Sender).Tag of
0:
begin
end;
......
...
....
....
end;
KingI
2005-11-08
打赏
举报
回复
那要获得一个item的tag值,还得知道这是哪个item才行, 可现在就要判断是哪个item,那怎么办呢?
ccrun.com
2005-11-08
打赏
举报
回复
给每个Item设定不同的Tag值,然后在公用的点击事件中判断Tag。
Delphi使用
Delphi使用 Delphi使用 Delphi使用 Delphi使用 Delphi使用
[matlab]下拉菜单Pop-Up Menu的用法
注:value
值
和String中的每一行一一对应,可以尝试把value
值
改成2或3,会发现下拉菜单会变成cos(x)或者sin(x)+cos(x)。编写下拉菜单的回调函数。
别再手动拖控件了!用Godot 4.2的MenuBar和
PopupMenu
,5分钟搞定专业级菜单栏
本文详细介绍了如何使用Godot 4.2的MenuBar和
PopupMenu
节点快速构建专业级菜单栏,告别手动拖拽控件的低效工作流。通过三个实际案例,展示了菜单栏的自动化布局、系统主题适配和动态更新等核心优势,帮助开发者提升UI开发效率。
刷题DAY29
题目:输入一个十进制数N,将它转换成R进制数输出输入:输入数据包含多个测试实例,
每个
测试实例包含两个整数N(32位整数)和R(2<=R<=16)输出:为
每个
测试实例输出转换后的数,
每个
输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,11用B表示等等)。输入:输出:111 1B -11;
基于Unity3D UGUI的完整背包系统设计与实现
在任何游戏系统中,物品(
Item
)是最基本的实体单元。为了确保
每个
物品具有唯一性和可识别性,必须为其定义一组标准化的核心属性。这些字段不仅用于 UI 显示,也作为逻辑判断的基础依据。[Header("基础信息")]// 唯一标识符// 物品名称// 描述文本// 枚举类型:武器/消耗品/材料等// 最大堆叠数量// 图标引用// 是否不可堆叠(如装备)[Header("状态信息")]// 当前持有数量。
Delphi
5,941
社区成员
262,943
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章