用于翻转菜单的Delphi XE2组件

时间:2012-05-11 16:39:59

标签: delphi user-interface delphi-xe2 popupmenu

在我的应用程序(Delphi Xe2)中,我有'multichoice'按钮(即'Export'按钮有'Export to PDF'和'Export to XLS'选项)。 当我将鼠标移到按钮(或面板或其他对象)上时,我需要获得一个菜单,就像弹出菜单的菜单一样。此菜单需要出现在按钮下方,并且需要是“VCL Stylable”组件。 我尝试了TPopUpMenu,但隐藏起来并不方便。 我也可以考虑使用OnClick事件而不是OnEnter来显示菜单。

1 个答案:

答案 0 :(得分:4)

您可以将TButton的样式设置为bsSplitButton,并将TPopupActionBar设置为按钮的DropDownMenu属性。单击带有向下箭头的右侧拆分时,菜单会下降。仅适用于Vista及以后版本..

对于早期的操作系统,可以采用以下类似的方法:

procedure TForm1.Button1Click(Sender: TObject);
var
  Pt: TPoint;
begin
  Pt := ClientToScreen(Point((Sender as TButton).Left, (Sender as TButton).Top));
  PopupActionBar1.Popup(Pt.X, Pt.Y + (Sender as TButton).Height);
end;