2016-09-23 4 views
0

初期化後にSWTコントロールのstyle bitsを変更することはできますか?私はそれらをコンストラクタに渡すことができますが、コンストラクタを呼び出した後でもコンストラクタを変更できるかどうかは疑問です。私はレイアウト関連の情報についてはそうすることができると知っていますが、例えばコンボボックスにSWT.READ_ONLYのようなビットはどうですか?初期化されたコントロールのスタイルビットを変更する

(虚コード)のようなものがあります:

Combo cmbExample = new Combo(s, SWT.NONE); 
// ... 
cmbExample.setStyleBit(SWT.READ_ONLY); 

答えて

2

いいえ、スタイルビットが固定されており、変更することはできません。

この理由の1つは、プラットフォームのSWT実装が実際にスタイルに応じて完全に異なるネイティブコントロールを作成できることです。

たとえば、macOSでは、読み取り専用ComboNSPopUpButtonを使用し、読み取り書き込みComboNSComboBoxを使用します。

StyledTextにはSWT.READ_ONLYスタイルをオーバーライドするsetEditableがありますが、ほとんどのコントロールではこれを行わない場合があります。

関連する問題