var i:integer;s:string; begin s:=''; for I := 0 to File1.Count - 1 do // Iterate s:=s+ File1.Items[i].Caption+', ' ; ShowMessage(s); end;
var MemuItem: TMenuItem; I: Integer; begin with MainMenu1.Items[0] do for I := 0 to Count-1 do ShowMessage('菜单Caption:' + Find(IntToStr(I+1)).Caption); end;———————————————————————————————————— 宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。 ————————————————————————————————————
就是把得到的下拉菜单显示在listbox里。
procedure TForm1.Button1Click(Sender: TObject); var i:integer; s:string; begin s:=''; for I := 0 to mainmenu1.Items[0].Count -1 do s:=s+ mainmenu1.items[0].Items[I].Caption + #13 ; ShowMessage(s); end;
var i:integer;s:string; begin s:=''; for I := 0 to File1.Count - 1 do // Iterate List1.Lines.Add(File1.Items[i].Caption); end;
procedure TForm1.Button1Click(Sender: TObject); var i:integer; s:string; begin s:=''; for I := 0 to mainmenu1.Items[0].Count -1 do s:=mainmenu1.items[0].Items[I].Caption ; listbox1.items.add(s); end; 测试通过
nyf1220的方法只能够将最后一个子菜单的标题放入Listbox我的方法是对的
procedure TForm1.Button1Click(Sender: TObject); var i:integer; s:string; begin s:=''; for I := 0 to mainmenu1.Items[0].Count -1 do begin s:=mainmenu1.items[0].Items[I].Caption ; listbox1.items.add(s); end; end; 哈哈,不好意思,测试的时候有,后来给掉了,!!
额~~~~~~~~我这里的File1是一个TMenuItem类型的。你自己可以换成其他的
本来短消息回答你的问题的。结果提示说留言太长。 刚才聊天去了 procedure EnumMenus(Level:integer;Parent:TMenuItem); var sTmp:string;i:integer; begin sTmp:=''; if Level<>0 then//第一层没有标题的. begin //给前面添加".."用来表示层数 for i:=1 to Level do AppendStr(sTmp,'..'); //格式化输出,格式:(层数)".."分格用来形象化表示层的字符 [标题] sTmp:=Format('(%d)%s [%s]',[Level,sTmp,Parent.Caption]); Form1.ListBox1.AddItem(sTmp,nil); end; //继续枚举子菜单 for i:=0 to Parent.Count -1 do EnumMenus(Level+1,Parent.Items[i]);end; procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Clear ; //开始枚举菜单 EnumMenus(0,MainMenu1.Items); end;
var J,I: Integer; S:string; begin s:=''; for J := 0 to MenuItem1.items.Count-1 do begin if MenuItem1.Items[J].Caption := '你的名字' then begin //原来的代码 for I := 0 to mainmenu1.Items[0].Count -1 do begin s:=mainmenu1.items[0].Items[I].Caption ; listbox1.items.add(s); end; end; end; end; 分还是给我吧,Eastunfail((浴血雏龙)==(恶鱼杀手)) (是个笨蛋,哈哈
begin
s:='';
for I := 0 to File1.Count - 1 do // Iterate
s:=s+ File1.Items[i].Caption+', ' ;
ShowMessage(s);
end;
MemuItem: TMenuItem;
I: Integer;
begin
with MainMenu1.Items[0] do
for I := 0 to Count-1 do
ShowMessage('菜单Caption:' + Find(IntToStr(I+1)).Caption);
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
s:='';
for I := 0 to mainmenu1.Items[0].Count -1 do
s:=s+ mainmenu1.items[0].Items[I].Caption + #13 ;
ShowMessage(s);
end;
begin
s:='';
for I := 0 to File1.Count - 1 do // Iterate
List1.Lines.Add(File1.Items[i].Caption);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
s:='';
for I := 0 to mainmenu1.Items[0].Count -1 do
s:=mainmenu1.items[0].Items[I].Caption ;
listbox1.items.add(s);
end;
测试通过
var
i:integer;
s:string;
begin
s:='';
for I := 0 to mainmenu1.Items[0].Count -1 do
begin
s:=mainmenu1.items[0].Items[I].Caption ;
listbox1.items.add(s);
end;
end;
哈哈,不好意思,测试的时候有,后来给掉了,!!
刚才聊天去了
procedure EnumMenus(Level:integer;Parent:TMenuItem);
var sTmp:string;i:integer;
begin
sTmp:='';
if Level<>0 then//第一层没有标题的.
begin
//给前面添加".."用来表示层数
for i:=1 to Level do
AppendStr(sTmp,'..');
//格式化输出,格式:(层数)".."分格用来形象化表示层的字符 [标题]
sTmp:=Format('(%d)%s [%s]',[Level,sTmp,Parent.Caption]);
Form1.ListBox1.AddItem(sTmp,nil);
end;
//继续枚举子菜单
for i:=0 to Parent.Count -1 do
EnumMenus(Level+1,Parent.Items[i]);end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear ;
//开始枚举菜单
EnumMenus(0,MainMenu1.Items);
end;
S:string;
begin
s:='';
for J := 0 to MenuItem1.items.Count-1 do
begin
if MenuItem1.Items[J].Caption := '你的名字' then
begin //原来的代码
for I := 0 to mainmenu1.Items[0].Count -1 do
begin
s:=mainmenu1.items[0].Items[I].Caption ;
listbox1.items.add(s);
end;
end;
end;
end;
分还是给我吧,Eastunfail((浴血雏龙)==(恶鱼杀手)) (是个笨蛋,哈哈