关于动态创建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;
其实我们可以使用一种更快的方法达到同样的功能, 但使用很少的代码, 那就是用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;
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;