【问题标题】:How to highlight MenuItem programmatically in SWT如何在 SWT 中以编程方式突出显示 MenuItem
【发布时间】:2015-12-31 18:50:37
【问题描述】:

我以编程方式打开上下文菜单。现在另外我想突出显示第一个菜单项。

当我将鼠标移到上下文菜单上或按键盘上的箭头键时,会出现这种突出显示。我对如何以编程方式触发这一点很感兴趣。

我知道MenuItem 的 API 不提供开箱即用的此功能。所以我尝试解雇一些MouseOverMouseHover 类型的MouseEvents,但没有任何成功。

有人知道如何实现这个功能吗?

【问题讨论】:

  • 触发事件对实际的本机控件没有任何作用。如果没有这方面的 API,就不太可能做到。

标签: swt


【解决方案1】:

我不确定您是否可以更改 menuitem 突出显示颜色,我之前没有见过任何前面的示例。不过看看这个:Change eclipse menuitem color

【讨论】:

    【解决方案2】:

    如果您想模拟用户所做的事情并且您恰好知道菜单项的位置,您可以使用Display#setCursorLocation() 将鼠标指针定位在菜单项上。

    但是请注意,是否以及如何突出显示菜单项是特定于平台的。

    您不应将此方法用于演示测试目的以外的其他用途。如果您的应用程序需要突出显示或预先选择选项列表中的条目, 您可能应该使用另一个小部件。如果您更详细地描述您的用例,我们或许能够找到合适的小部件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多