怎样在弹出菜单中动态建立二级子菜单呢?(50分)

  • 主题发起人 主题发起人 chensh
  • 开始时间 开始时间
C

chensh

Unregistered / Unconfirmed
GUEST, unregistred user!
我在窗体中放一个PopupMenu,没有菜单项。
在程序运行时,动态建立菜单项:
.................
newItem := TMenuItem.Create(popupmenu1);
newitem.ImageIndex:=0;
newitem.RadioItem:=false;
newitem.Caption:='tools';
popupmenu1.Items.Add(newitem);
newitem.OnClick:=MyPopupHandler;
...................

那怎么在newitem菜单项下动态建立二级子菜单呢?
 
呵呵,跟上面的代码一摸一样的啊,newItem的下面还有Items的
newItem := TMenuItem.Create(popupmenu1);
newitem.ImageIndex:=0;
newitem.RadioItem:=false;
newitem.Caption:='tools';
popupmenu1.Items.Add(newitem);
newitem.OnClick:=MyPopupHandler;

newnewItem := TMenuItem.Create(popupmenu1);
newnewitem.ImageIndex:=0;
newnewitem.RadioItem:=false;
newnewitem.Caption:='tools';
newitem.Items.Add(newnewitem);
newnewitem.OnClick:=MyPopupHandler;
 
我试过了,怎么也不好使呀.
 
有没有更好的,更全面的代码拿出来共享啊???高分等你!
 
经过摸索,Adnil的代码有个小小的错误,现在将我已经实现的建立方法代码拿出来,如果
你满意的话,记得给分哟,呵呵!!
-------------------------------------------------------------------------------
var
Form1: TForm1;
i:integer;
menup:array[0..10]of tmenuitem;
menuq:tmenuitem;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
for i:=1 to 10 do
begin
menup:=tmenuitem.Create(popupmenu1);
popupmenu1.Items.Add(menup);
menup.Caption:='第'+inttostr(i)+'个菜单';
end;
form1.PopupMenu:=popupmenu1;
menuq:=tmenuitem.Create(popupmenu1);
popupmenu1.Items[3].Add(menuq);//Adnil代码错的地方
menuq.Caption:='第四个菜单的子菜单!';
end;
--------------------------------------------------------------------------------
不过还是得谢谢Adnil的提醒,不能过河拆桥啊!!!!
 
呵呵,点到即可,我没有在delphi上面调试。
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
334
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部