PopupMenu介绍

关于动态创建PopupMenu的问题

http://topic.csdn.net/t/20040825/09/3306672.html

动态创建菜单
    var  
mmiTemp:TMenuItem;
begin
                mmiTemp:=TMenuItem.Create();
                mmiTemp.Caption:=   '标题 ';//
                mmiTemp.OnClick:=   actLoadExecute;//设定action
                PopupMenu2.Add(mmiTemp);//加入到上层的菜单
end;

 

其实我们可以使用一种更快的方法达到同样的功能, 但使用很少的代码, 那就是用NewLineNewItem, 看看下面的例子, 是不是很简单?
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;

 

procedure   TForm1.Image1MouseDown(Sender:   TObject;   Button:   TMouseButton;
    Shift:   TShiftState;   X,   Y:   Integer);
begin
    if   button=mbRight   then
        PopupMenu1.Popup(mouse.CursorPos.X,mouse.CursorPos.Y);

end;

posted @ 2011-10-31 13:16  byronming  阅读(5821)  评论(0编辑  收藏  举报