快捷菜单

转载 2006年05月20日 17:38:00
问题如下:

把数据库里的数据用来动态生成菜单项,但是我不知道怎样判断我单击了哪个菜单项,所有的单击事件都指向了N1Click过程,因为我不知道会随数据库的数据产生多少菜单项。
procedure TDBXP_RKD.edt_spmcClick(Sender: TObject);
var
i_spmc,count_spmc:integer;
begin
with dm_dbxp.qry_spmc do begin
close;
sql.Clear;
sql.Add('select * from dbxp_sp');
open;
end;
count_spmc:=dm_dbxp.qry_spmc.RecordCount;
for i_spmc := 1 to count_spmc do
begin
NewItem := TMenuItem.Create(PopupMenu1);
NewItem.Caption := dm_dbxp.qry_spmc.FieldByName('spmc_no').AsString;
PopupMenu1.Items.Add( NewItem);
newitem.OnClick := N1Click;
dm_dbxp.qry_spmc.Next;
end;
PopupMenu1.Popup(x,y);
end;

procedure TDBXP_RKD.N1Click(Sender: TObject);
begin
怎样在这里判断我单击了哪个菜单项?
popupmenu1.Items.Clear;
end;

小弟技穷请各位大虾帮忙!
-----------------------------------------------------------------------------------------------------------------------------------
1.
太简单了,
procedure TDBXP_RKD.N1Click(Sender: TObject);
begin
//怎样在这里判断我单击了哪个菜单项?
with TMenuItem(Sender) do
begin
ShowMessage('你点击了"'+Caption+'"!');
end;
end;

2.
根据sender啊
procedure TDBXP_RKD.N1Click(Sender: TObject);
var
name :string;
begin
name :=TMenuItem(Sender).name;//菜单名称
popupmenu1.Items.Clear;
end;

3.
ype
TFunctionProc=function:boolean;

procedure TMainForm.SystemFunctionClick(Sender: TObject);//系统菜单事件
var
AHandle : THandle;
BaseInfoProc : TFunctionProc;
FunProc:string;
begin
if Sender is TMenuItem then
begin
FunProc:=(Sender as TMenuItem).KeyValue;
AHandle := GetModuleHandle(Nil);
if AHandle <> 0 then
begin
@BaseInfoProc := GetProcAddress(AHandle,PChar(FunProc));
if @BaseInfoProc <> nil then
begin
Update;
BaseInfoProc;
end;
end;
end;
end;

MFC中为菜单命令添加快捷键

(1)添加“帮助/我的帮助”菜单项。ID为ID_MY_HELP,Caption为“我的帮助(&H)”,设 Ctrl+H作为该命令的快捷键。 当执行Ctrl+H命令时,使用一个信息对话框...
  • ywxk1314
  • ywxk1314
  • 2016年06月24日 10:29
  • 1931

如何给MFC的菜单项添加快捷键

转载地址 http://www.cnblogs.com/music-liang/p/3269081.html
  • ruihaha
  • ruihaha
  • 2014年09月12日 09:06
  • 1861

各品牌进入启动菜单选择项的快捷键

在U盘安装系统,PE等备份数据或安装系统时,需要选择U盘启动等启动项。 一般在开机画面出现在屏幕时按下快捷启动热键F12(不同机型请查看下面快捷键列表),然后在启动项列表中通过方向键选择U盘所在选项(...
  • proglovercn
  • proglovercn
  • 2015年10月31日 04:29
  • 7538

Qt之创建桌面和开始菜单快捷方式

将安装好的酷狗拷贝到C:\data目录中 1.创建桌面快捷方式 QFile::link("C:/data/KuGou.exe", QStandardPaths::writableLocation(...
  • caoshangpa
  • caoshangpa
  • 2017年01月02日 19:50
  • 2492

一种将快捷方式从开始菜单“常用应用”的中去除的方法

该文讲解一种分析如何从开始菜单”常用应用“区域去掉某快捷方式的方法。其中涉及注册表快照的抓取和ROT13算法。...
  • breaksoftware
  • breaksoftware
  • 2014年04月07日 22:19
  • 3181

Windows10实用技巧-固定快捷方式到磁贴菜单方式

快捷方式固定到磁贴Win10的开始菜单中的磁贴功能比较不错,可以在不清理桌面上其他软件的情况下直接唤醒需要的应用。...
  • luofl1992
  • luofl1992
  • 2016年08月20日 21:39
  • 3252

IE9 下实现Web系统快捷方式到系统开始菜单中

最近发现使用IE9下登录CSDN博客的时候页面顶部提示一个快捷方式添加,研究了一下,发现使用到了一个js,然后下载下来,使用了一下,成功了,现在和大家分享一下。        首先看几张图:     ...
  • taomanman
  • taomanman
  • 2012年12月04日 13:08
  • 1032

将Chrome Extension加到快捷菜单中

转载请注明出处:http://blog.csdn.net/horkychen 接着上一篇Chrome插件的实作。 Step 1. 修改manifest.json,   a. 增加权限"c...
  • HorkyChen
  • HorkyChen
  • 2012年07月17日 13:05
  • 3104

EasyUI 界面中tab页右键快捷菜单

Windows 用户通常习惯使用快捷菜单来实现一些常用的用户操作。很荣幸 EasyUI 也提供了一个右键菜单的插件——Menu。   EasyUI 中的 Menu 可以使用户方便的实现一个 Wi...
  • liuxiao723846
  • liuxiao723846
  • 2015年01月04日 14:22
  • 687

右键新建菜单里的office快捷启动文件没有解决办法

最近有问题反映win10安装了office2010后,在桌面右键菜单里面没有新建office文件,在这里总结两种方法,供大家参考。 方法一:.去360人工服务里面去搜索问题:右键菜单没有新建...
  • ayzc210
  • ayzc210
  • 2016年02月17日 23:22
  • 320
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:快捷菜单
举报原因:
原因补充:

(最多只允许输入30个字)