说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

快速动态创建MenuItem-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
快速动态创建MenuItem-Delphi资料

在设计程序时

有时我们需要动态地创建菜单

通常我们使用以下的语句

PopupMenu1 := TPopupMenu.Create(Self);

Item := TMenuItem.Create(PopupMenu1);

Item.Caption := 'First Menu';

Item.OnClick := MenuItem1Click;

PopupMenu1.Items.Add(Item);

Item := TMenuItem.Create(PopupMenu1);

Item.Caption := 'Second Menu';

Item.OnClick := MenuItem2Click;

PopupMenu1.Items.Add(Item);

Item := TMenuItem.Create(PopupMenu1);

Item.Caption := 'Third Menu';

Item.OnClick := MenuItem3Click;

PopupMenu1.Items.Add(Item);

Item := TMenuItem.Create(PopupMenu1);

Item.Caption := '-';

PopupMenu1.Items.Add(Item);

Item := TMenuItem.Create(PopupMenu1);

Item.Caption := 'Fourth Menu';

Item.OnClick := MenuItem4Click;

PopupMenu1.Items.Add(Item);

其实我们可以使用一种更快的方法达到同样的功能

但使用很少的代码

那就是用NewLine和NewItem

看看下面的例子

是不是很简单?

PopupMenu1 := TPopupMenu.Create(Self);

with PopUpMenu1.Items do

begin

Add(NewItem('First Menu'

0

False

True

MenuItem1Click

0

'MenuItem1'));

Add(NewItem('Second Menu'

0

False

True

MenuItem2Click

0

'MenuItem2'));

Add(NewItem('Third Menu'

0

False

True

MenuItem3Click

0

'MenuItem3'));

Add(NewLine); // 增加一个分割棒

Add(NewItem('Fourth Menu'

0

False

True

MenuItem4Click

0

'MenuItem4'));

end;

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘