应用程序中的组合框应该显示固定宽度和非固定宽度的字体名称。我想在它们之间添加一个不可选择的分隔符:
-- Fixed-width fonts --
Courier New
Lucida Console
...
-- Non-fixed-width fonts --
Arial
...有没有可能使用SWT?
发布于 2015-07-20 03:13:40
简短的回答是否定的。Combo和CCombo都不允许将项目标记为不可选。
但是,应该可以实现一个自定义的组合小部件,它可以合理地显示不可选的项目。
如果查看CCombo code,您会发现它不是本机小部件,而是由其他SWT小部件组成的。它使用List作为下拉控件来显示项目。
如果您为下拉小部件使用ScrolledCompposite,则可以将Label放在其中以表示项。不可选择的项目不需要额外的工作。对于可选择的项目,您可以使用Label的鼠标侦听器在悬停时突出显示它们,并处理选择。
如果您计划显示大量项目(无论如何都不应在组合框中显示),则创建的标签数量可能会对性能产生影响。
或者,您可能想要尝试Nebula TableCombo。可以对表格进行调整,使某些项目显示为不可选(使用自定义绘制的项目),并且可以禁用这些项目的选择行为。
https://stackoverflow.com/questions/5339658
复制相似问题