簡體   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