繁体   English   中英

如何在不禁用SWT中的最小化,最大化和关闭按钮的情况下禁用外壳

[英]How to disable a shell without disabling minimize, maximize and close button in SWT

我正在尝试使用以下方式禁用SWT中的外壳

sell.setEnabled(false);

这工作正常,我想阻止用户执行操作,但是与此同时,我希望允许他最小化外壳。 问题在于setEnabled(false)将禁用整个外壳。

你能对此有个想法吗?

我猜您想禁用外壳程序的内容。 那么,为什么不只是在容器中添加一个容器(复合)作为主要内容并根据需要禁用/启用它呢? 这不会影响外壳,因此,最小化按钮将继续起作用。

final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Composite composite = new Composite(shell, SWT.NONE);
composite.setEnabled(false);

而不是禁用命令行管理程序本身,而是禁用它包含的控件。 像这样:

Control[] children = shell.getChildren();
for( Control control : children ) {
  control.setEnabled( false );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM