【问题标题】:Delphi XE2 component for rollover menu用于翻转菜单的 Delphi XE2 组件
【发布时间】:2012-05-20 06:52:54
【问题描述】:
在我的应用程序(Delphi Xe2)中,我有“多选”按钮(即“导出”按钮有“导出到 PDF”和“导出到 XLS”选项)。
我需要一个菜单,就像我将鼠标移到按钮(或面板或其他对象)上时出现的弹出菜单一样。此菜单需要出现在按钮下方,并且需要是“VCL Stylable”组件。
我尝试了一个 TPopUpMenu 但隐藏起来不方便。
我也可以考虑使用 OnClick 事件而不是 OnEnter 来显示菜单。
【问题讨论】:
标签:
delphi
user-interface
delphi-xe2
popupmenu
【解决方案1】:
您可以使用样式设置为bsSplitButton 的TButton,以及设置为按钮DropDownMenu 属性的TPopupActionBar。当您单击具有向下箭头的右侧 split 时,菜单会下拉。仅适用于 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;