在Windows中创建菜单按钮

Jos*_*ley 9 windows delphi menu button

Microsoft的用户体验交互指南提供了有关何时使用菜单按钮的UI指南:

http://i.msdn.microsoft.com/Aa511453.command51(en-us,MSDN.10).png

如何创建其中一个菜单按钮?我找到了相关信息

  • 如何在Vista及更高版本中创建拆分按钮
  • 如何使用下拉菜单创建工具栏按钮
  • 如何创建常规按钮并手动连接弹出菜单的OnClick事件处理程序

但有没有任何标准的方法来创建一个按钮,而不是在工具栏中,使用小三角形,点击时自动弹出一个菜单?

(我正在使用Delphi/C++ Builder,但欢迎使用其他解决方案.)

ska*_*adt 11

您可以使用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;
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用Delphi 2010按钮或以前版本的TBitBtn添加"字形",并将位图/字形属性指定给适当的图像并对齐.

  • 你也可以使用向下的小三角形字符▾(http://www.fileformat.info/info/unicode/char/25be/index.htm) (3认同)