为什么
var
zi_menu:tmenuitem;
...
popupmenu1.items[0].add(zi_menu);
就可以添加子菜单,而
在一个函数中:
precedure add_zi_caidan(sender:tobject;zi_menu:tmenuitem);
begin
(sender as tmenuitem).add(zi_menu);
end;
就添加不上,
真是急死我了!
非常感谢大家的帮助!
var
zi_menu:tmenuitem;
...
popupmenu1.items[0].add(zi_menu);
就可以添加子菜单,而
在一个函数中:
precedure add_zi_caidan(sender:tobject;zi_menu:tmenuitem);
begin
(sender as tmenuitem).add(zi_menu);
end;
就添加不上,
真是急死我了!
非常感谢大家的帮助!
zi_menu:tmenuitem;procedure add_zi_caidan(sender:TPopupMenu;zi_menu:tmenuitem);
begin
Sender.Items.add(zi_menu);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
zi_menu := TMenuItem.Create(nil);
zi_menu.Caption := 'aaaa';
add_zi_caidan(PopupMenu1,zi_menu);
end;
begin
zi_menu := tmenuitem.create(nil);
(sender as tmenuitem).add(zi_menu);
end;
var
I: Integer;
PMM : TMenuItem;
begin
for I:= 0 to 3 do
begin
PMM := TMenuItem.Create(Self);
PMM.Caption := IntToStr(I);
// PMM.OnClick := YourProcedure; //定义响应事件
PopupMenu1.Items.Add(PMM);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
PMM,ZMM: TMenuItem;
begin
for I:= 0 to 3 do
begin
PMM := TMenuItem.Create(Self);
PMM.Caption := IntToStr(I);
ZMM := TMenuItem.Create(PMM);
ZMM.Caption := IntToStr(I);
PMM.Add(ZMM);
PopupMenu1.Items.Add(PMM);
end;
end;