注册 登录
编程论坛 Delphi论坛

对不同等级用户怎样用循环进行菜单项的控制

hsphzc 发布于 2006-12-24 21:52, 602 次点击

我有一个主窗体名为Fmymain , 其中有一个主菜单 mymainmenu , 内含多外菜单项

各菜单项的名字分别为 N1 , N2 , N3 .... ..... ...... N36

使用主窗体显示并设置菜单项的有效与否的代码如下:
var i: integer;
myni: string;
。。。。。。
if 用户类='普通' then
begin
for i:=1 to 36 DO
begin
myni := 'Fmymain.N'+IntToString(i)+'.Enabled';
// myni 会变为 Fmymain.N1.Enabled Fmymain.N2.Enabled 等等.
myni := False;
// 再将各菜单项不能使用。
end;
end;

问题出在 myni 是一些字符串 ' Fmymain.N1.Enabled ' ,并不是 Fmymain.N1.Enabled
请问怎么解决这个问题。

2 回复
#2
xu20002006-12-25 00:17
根据下列代码改吧。
procedure TForm1.FormCreate(Sender: TObject);
var
menu:TMenuItem;
i:integer;
begin
begin
for i:=0 to self.MainMenu1.Items.Count-1 do
begin
self.MainMenu1.Items[i].Enabled:=false;
end;
end;

end;
#3
hsphzc2006-12-25 22:12

感谢 二楼的 xu2000

我已根据你的提示,将功能完美地实现了。

1