关于mainmenu的弱问题!(20分)

  • 主题发起人 主题发起人 maginnn
  • 开始时间 开始时间
M

maginnn

Unregistered / Unconfirmed
GUEST, unregistred user!
请问我想用下面的语法应该怎么做
case mainmenu1.????(此处应该是什么,下面才能响应n1,n2的菜单的各项) of
n1:......
n2:........
end;
 
可以直接用mainmenu的 MenuItem 的 Click 事件来实现,
不需要用case 语句就可以实现
 
因为我有很多的菜单项,而且并不是要调用mainmenu的onclick事件
而是通过判断点了那个菜单项,去作出相应的响应。
例如是在一个botton的onclick中来判断点了那个菜单项
 
搞错了。
 
没搞懂你的意思,是不是说点了菜单项后保存一个状态值,然后在别的方法中
根据这个状态进行处理?
 
这好像不大好实现,我再试试。
 
写一个
procedure TMainForm.MenuItemClick(Sender:TObject);
begin
case (Sender as TMenuItem).tag
1:...;
2:...;
end;
所有的MenuItem的OnClick都赋成MenuItemClick,然后设定MenuItem的Tag值就行了。
 
让所有的MemuItem的Click事件都调用如下过程:
procedure....
begin
for i := 0 to MainMenu1.Items[0].Count - 1 do
if sender = MainMenu1.Items[0].Items then
j := i;
case j of
0:ShowMessage( 'H' );
1:ShowMessage( 'L' );
end;
end;
 
对于这个问题还是各显神通好了条条大路通清华!
 
case (Sender as TMenuItem).Name of
n1:......
n2:........
end;
 
后退
顶部