Owner-Draw 菜单项的菜单加速键(下划线)
Posted
技术标签:
【中文标题】Owner-Draw 菜单项的菜单加速键(下划线)【英文标题】:Menu Accelerator Keys (underline) for Owner-Draw menu items 【发布时间】:2013-02-13 19:57:05 【问题描述】:我尝试使用 Owner-Draw 菜单。我无法解决的唯一问题是我不知道如何实现(或启用?)菜单加速键(下划线)。我使用的是Win32,我关心的是主菜单,而不是子菜单。使用 Owner-Draw 菜单时如何实现或启用下划线?
附言Menu Accelerator Keys 是一个带下划线的字母,当用户按下 Alt 访问菜单项时使用。它是由 & 字符创建的,例如 Save &As。
【问题讨论】:
【参考方案1】:使用 DrawTextEx() 来绘制文本,它会自动处理它。如果您需要隐藏下划线,请使用 DT_HIDEPREFIX 选项,如果您出于某种原因需要显示 &,请使用 DT_NOPREFIX。
【讨论】:
【参考方案2】:字符前的 & 用于下划线也适用于 DrawText(); DT_HIDEPREFIX 也可以。至少这对于所有者绘制的按钮控件来说可以正常工作。
【讨论】:
以上是关于Owner-Draw 菜单项的菜单加速键(下划线)的主要内容,如果未能解决你的问题,请参考以下文章
JavaFX MenuItem.setAccelerator() 不工作