如何在SWT中向组合框添加不可选择的分隔符

问题描述 投票:7回答:1

我们的应用程序中的组合框应显示固定宽度和非固定宽度的字体名称。我想在它们之间添加一个不可选择的分隔符:

-- Fixed-width fonts --
Courier New
Lucida Console
...
-- Non-fixed-width fonts --
Arial
...

SWT可以吗?

combobox swt
1个回答
0
投票

简短的答案是没有。 ComboCCombo都不允许将项目标记为不可选择。

但是应该有可能实现一个自定义的组合小部件,该组合小部件可以通过合理的努力显示无法选择的项目。

如果查看CCombo code,您会发现它不是本机窗口小部件,而是由其他SWT小部件组成的。它使用CCombo作为下拉控件来显示项目。

如果下拉小部件使用List,则可以在其中放置ScrolledCompposite以表示项目。不可选择的项目不需要额外的工作。对于可选项目,可以使用鼠标侦听器将Label悬停在它们上方以突出显示它们并处理选择。

如果您打算显示大量项目(无论如何都不应该在组合框中显示这些项目,那么创建的标签数可能会对性能产生影响。

或者,您可能想尝试Label。可能可以对表格进行调整以将某些项目显示为不可选择(使用自定义项目),并且可以针对这些项目禁用选择行为。

© www.soinside.com 2019 - 2024. All rights reserved.