微软的
User Experience Interaction Guidelines提供了一些使用菜单按钮的UI指南:
http://i.msdn.microsoft.com/Aa511453.command51(en-us,MSDN.10).png
如何创建这些菜单按钮之一?我找到了信息
>如何在Vista及以上创建分割按钮
>如何使用下拉菜单创建工具栏按钮
>如何创建一个常规按钮,并手动连接弹出菜单的OnClick事件处理程序
但是,有没有什么标准的方法来创建一个按钮,而不是在工具栏中,使用小三角形,点击时会自动弹出一个菜单?
(我使用的是Delphi / C Builder,但其他解决方案是可以接受的.)
您可以使用OnClick来强制弹出,并且为了一致性,不要使用光标位置,而是使用控制位置.
procedure TForm1.Button1Click(Sender: TObject); var pt : TPoint; begin Pt.X := Button1.Left; Pt.Y := Button1.Top+Button1.Height; pt := ClientToScreen(Pt); PopupMenu1.Popup(pt.x,pt.y); end;
然后,您可以使用Delphi 2010按钮或先前版本的TBitBtn添加“glyph”,并将位图/ glyph属性分配给适当的图像并对齐.