我想用一个变量表示一个菜单的名称,请问怎么搞呀(10分)

  • 主题发起人 主题发起人 hui717
  • 开始时间 开始时间
H

hui717

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用一个变量表示一个菜单的名称,请问怎么搞呀
如:N1.visible:=True
我想写成
var s:=N1;
s.visible:=True;
请高手帮帮忙
 
代码:
var
  s: TMenuItem;
begin
  s := N1;
  s.Visible := True;
 
这样写,编都编译不过呀
我记得好像要用控件数组

但一时不知道怎么用了
 
你的 N1 是什么?
 
N1 是一个菜单名字
 
我有N1、N2、N3…………

很多菜单

我想用一个循环来设置相应的菜单的相关属性
 
FindComponent('N1') As TMenuItem
 
先定义一个: MenuItem : array of TMenuItem; //动态菜单
//创建动态菜单组
procedure TfrmMain.CreateMenuItem(Sender: TObject);
var
i: integer;
begin
SetLength(MenuItem, LVFileList.Items.Count); //分配长度
for i := 0 to Length(MenuItem) -1 do
Begin
MenuItem := TMenuItem.Create(nil);
with MenuItem do
begin
CmdSysName.Add(MenuItem);
MenuItem.Name := 'Item' + inttostr(i);
caption := LVFileList.Items.Item.Caption;
hint := LVFileList.Items.Item.SubItems[4];
OnClick := MenuItemClick;
MenuItem.ImageIndex := LVFileList.Items.Item.ImageIndex;
end;
end;
end;
 
多谢
搞定了
明天来发分哈
 
多人接受答案了。
 
后退
顶部