2012-05-11 177 views
1

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

回答

4

您可以使用TButton,其样式设置为bsSplitButton,连同设置为按钮DropDownMenu属性的TPopupActionBar。当您单击向右箭头拆分时,菜单会下降。适用于Vista和更高版本..

对于早期OS类似下面可以使用:

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; 
+0

好主意,不完全是我的需求却远没有那么... – philnext