关于菜单的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 sl98_1
  • 开始时间 开始时间
S

sl98_1

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手,谁有遍历整个菜单所有明细的语句 借来给小弟参考一下
 
各位高手,谁有遍历整个菜单所有明细的语句 借来给小弟参考一下
 
下面是禁用所有菜单
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:=0 to Mnu1.Items.Count-1 do
Mnu1.Items.Enabled:=false;
end;
 
var
i,j:integer;
begin
for i:=0 to Mainmenu1.Items.Count-1 do
begin
for j:=0 to Mainmenu1.Items.Count-1 do
begin
if (Mainmenu1.Items.Items[j].Caption<>'-') and (Mainmenu1.Items.Items[j].Enabled=true) then
...................
end;
end;

end;
 
////递归过程
procedure FindMenuItem(Item: TMenuItem);
var
I: integer;
begin
for I := 0 Item.count - 1 do
begin
//做你要做的事;
FindMenuItem(Item); //递归调用
end;
end;
//调用
procedure SearchMenuItem
var
i:integer;
begin
for i := 0 to Mnu1.Items.Count - 1 do
FindMenuItem(Mnu1.Items);
end;
//以上没有测试过! 试试看吧
 
赞成 饭前饭后的做法
 
//这是我刚写的一个测试例子, 可以遍历整个菜单
procedure TForm1.FindMenuItem(Item: TMenuItem);
var
I: Integer;
begin
for I := 0 to Item.Count - 1 do
begin
Memo1.Lines.Add(Item.Caption);
FindMenuItem(Item);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
Memo1.Lines.Clear;
for I := 0 to MainMenu1.Items.Count - 1 do
begin
Memo1.Lines.Add(MainMenu1.Items.Caption);
FindMenuItem(MainMenu1.Items);
end;
end;
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部