比如以下代码:
procedure TMainForm.ShowInfo(Sender: TObject);
begin
MessageBox(MainForm.Handle, 'Menu Test OK!', 'Menu', MB_OK);
end;
procedure TMainForm.Button1Click(Sender: TObject);
var
NewMenu: TMenuItem;begin
NewMenu := TMenuItem.Create(Self);
NewMenu.Caption := 'New Menu';
NewMenu.OnClick := ShowInfo;
MainMenu1.Items.Add(NewMenu);
end;用户单击菜单的信息怎样知道,换句话我动态建立了若干个菜单项,每个都用这一个,在这个procedure TMainForm.ShowInfo(Sender: TObject);, 里怎样通过Sender区分用户到底单击的是那个MenuItem.请不要笑我,Delphi新手。
procedure TMainForm.ShowInfo(Sender: TObject);
begin
MessageBox(MainForm.Handle, 'Menu Test OK!', 'Menu', MB_OK);
end;
procedure TMainForm.Button1Click(Sender: TObject);
var
NewMenu: TMenuItem;begin
NewMenu := TMenuItem.Create(Self);
NewMenu.Caption := 'New Menu';
NewMenu.OnClick := ShowInfo;
MainMenu1.Items.Add(NewMenu);
end;用户单击菜单的信息怎样知道,换句话我动态建立了若干个菜单项,每个都用这一个,在这个procedure TMainForm.ShowInfo(Sender: TObject);, 里怎样通过Sender区分用户到底单击的是那个MenuItem.请不要笑我,Delphi新手。
解决方案 »
- 岁月催人老,bill gates老了
- 音频录制和传送
- 送 midas.dll 自动注册程序(RegMidas.exe)
- 当From最大化时,所有的控件要重新计算位置(最好包括所有控件的大小),怎么做?online......
- 探讨一下QQ的原理(看了别人的讨论有感)
- 存入的数据怎么变长了
- 经常看到有人散分,有点疑惑...
- windows NT,怎样让其自动登录,不要使用Ctrl+Alt+Del
- 为何我在quickreport中链接一个表后,在QRDBtext是只是显示一条记录(100分)
- SQL语句中两日期相加减怎么得到天数
- update 较大量的数据时为什么会无响应?还是这样的语句行不通?
- 问个问题
里面的Sender应该是对Button1对象的引用吧!(Sender as TMenuItem)应该是不可以的:)