自己控制菜单弹出的恐怕难度较大。其实“开始”按钮也不是这样做的,它只是控制了
菜单弹出的位置而已,而菜单如何弹出根本不必去管,把任务栏拖放到屏幕四周就知道
了。下面是向上弹出的例子,注意PopupMenu的MainAnimation设置为maTopToBottom,
按钮位置在靠近屏幕下端附近,Button1为TSpeedButton,AllowAllUp设为True,
GroupIndex设为1。
procedure TForm1.Button1Click(Sender: TObject);
var
Pos: TPoint;
begin
if Button1.tag=0 then
begin
Pos :=Button1.ClientToScreen(Point(0,0));
Button1.Down :=true;
p1.Popup(Pos.x, Pos.y);
Button1.tag :=1;
end
else
begin
Button1.Down :=false;
Button1.tag :=0;
end;
end;