动态菜单调用问题,大侠请指教!(10分)

  • 主题发起人 主题发起人 多多帮助
  • 开始时间 开始时间

多多帮助

Unregistered / Unconfirmed
GUEST, unregistred user!
有菜单N1,N2,N3
我想实现N.click
怎么做,多谢
 
难道不能实现这个功能吗?
 
procedure MenuClick(sender: Tobject);

procedure FrmMain.MenuClick(sender: Tobject);
begin
...
end;

创建菜单项时加以下一句代码就可:
N.Onclick=MenuClick;
 
创建菜单项时加?
我菜单都是固定的呀
就是菜单name是N1,N2,N3,然后我在用的时候能实现var i:integer
N.caption:='名称'
谢谢
 
我程序里的 片段:
var
Menu:TMenuItem;
i:Integer;
begin
if N46.Tag=0 then
begin
Menu:=TMenuItem.Create(Self); {加一个分割条}
Menu.Name:='mSpliter1';
Menu.Caption:='-';
N40.Insert(1,Menu);

Menu:=TMenuItem.Create(Self); {加一个分割条}
Menu.Name:='mSpliter2';
Menu.Caption:='-';
N41.Insert(1,Menu);
end;
 
事件:
private
{ Private declarations }
procedure MyClick(Sender: TObject); {窗体类里声明}


完整的都给你,打字很烦:
if N46.Tag <10 then //最多加载10个
N46.Tag:=N46.Tag+1; //记录动态加载的字典路径数目

if N46.Tag=10 then {超出了10个的删除}
begin
N40.Delete(11);
N41.Delete(11);
end;
Menu:=TMenuItem.Create(Self); {添加到N40}
Menu.Name:='Menu1'+inttostr(N46.Tag);
Menu.Caption:=sCaption;
Menu.Hint:='加载'+frmMain.UserDictPath;
Menu.Checked:=True;
Menu.OnClick:=MyClick;
N40.Insert(2,Menu);
for i:=0 to N46.Tag-1 do
N40.Items[2+i].Checked:=False;
Menu.Checked:=True;

Menu:=TMenuItem.Create(Self); {添加到N41}
Menu.Name:='Menu2'+inttostr(N46.Tag);
Menu.Caption:=sCaption;
Menu.Hint:='加载'+frmMain.UserDictPath;
Menu.Checked:=True;
Menu.OnClick:=MyN41Click;
N41.Insert(2,Menu);
 
我晕,还是看不懂,好像不是我想要的,不过还是谢谢!
难道这个功能根本就不能实现?郁闷
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部