PopupMenu控件在standard组中。
假设你所创建的PopupMenu对象为pm1:TPopupMenu,PopupMenu所关联的控件为sbtn1:TSpeedButton.则需要在sbtn1的属性中,设置PopupMenu为pm1,这样点击sbtn1的时候,PopupMenu就会弹出来。
添加PopupMenu中的一个item:
首先声明item:TMenuItem,
item := TMenuItem.Create(pm1);
item.Caption := '该item的名字';
item.OnClick := MenuItemClick;//设置点击该item时,应该响应的事件
item.Tag := 0;
pm1.Items.Add(item);
如果你要添加n个item,则声明items:array of TMenuItem.
SetLength(items, n);
for i := 0 to
n - 1 do
begin
items[i]
:= TMenuItem.Create(pm1);
items[i].Caption := sFile[i];
items[i].OnClick := MenuItemClick;
items[i].Tag := i;
pm1.Items.Add(items[i]);
end;
设置PopupMenu弹出的位置,这里设置成在SpeedButton的右下方:
pt := sbtn1.ClientToScreen(Point(0,
0));//speedbutton在屏幕的位置
pt.X := pt.x +
sbtn1.Width;
pt.Y := pt.Y +
sbtn1.Height;
pm1.Popup(pt.X, pt.Y);