如何在 Windows 上以编程方式添加菜单项分隔符?

How to add menu items separators programmatically on Windows?

我的窗体上有一个主菜单,我希望能够以编程方式向其中插入分隔符,而不是在设计时。我浏览了列出所有可用属性的主菜单的上下文弹出菜单,但没有找到任何允许我插入分隔符的东西。 Google 没有多大帮助。那么,Windows 上的 Delphi 是如何做到的呢?我正在使用 Delphi 2010.

我只是想做类似下面的事情,但是 AddSeparator 命令不存在:

MainMenu1.Items[5].AddSeparator;

创建一个新菜单项并将其标题设置为 '-'

var
  MenuItem: TMenuItem;
....
MenuItem := TMenuItem.Create(Menu); // Menu is the menu into which you are adding
MenuItem.Caption := '-';
Menu.Items.Add(MenuItem);

您可以使用 Insert 将项目插入菜单中间,而不是 Add,它会添加到菜单的末尾。

documentation 说:

Specify a hyphen character (-) as the value of Caption for the menu item to indicate that the menu item is a separator.