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