两列 TPopupMenu 列出右对齐的快捷方式

Two column TPopupMenu to list shortcuts right aligned

使用 Borland/CodeGear/Ebarcadero C++ Builder 2009。是否可以在 TPopupMenu 的第二列中右对齐显示快捷方式(或其他文本)?

例如:

[image] Open File        ctrl-O
[image] Close File       ctrl-W
[image] BlahBlah         ctrl-B

等等

如果是,怎么办? 我检查了一个项目上的中断 属性,但结果并不完全是我想要的,因为项目可以自行选择,而不是整行。而且画的不是很好

感谢您的反馈。

菜单项可以有一个图像(参见 TMenuItem.ImageIndex 属性),并且可以分配一个快捷方式(参见 TMenuItem.ShortCut 属性)。 VCL 将自动为您绘制这些元素,就像您所显示的那样。

默认情况下,它们有点挤在一起。您可以使用 TMenuItem.OnMeasureItem 事件来扩展 Width:

如果您仍然不喜欢默认绘图的外观,或者您希望在右侧显示与 ShortCut 不同的文本,则您必须自己绘制菜单项(请参阅TMenuItem.OnDrawItemTMenuItem.OnAdvancedDrawItem 事件),然后您可以根据需要显示菜单项。