2015-10-13 77 views
0

當我撥打setItems(String[])時,組合框將變寬以適應新項目的長度。如何防止SWT組合的大小調整?

無論新項目有多寬,如何使它不能調整大小?我試過ControlListener。我保存了組合的初始大小,並在每次調用controlResized()時進行設置。結果組合寬度保持不變,但是當調整它的大小時,其餘的UI看起來很難看。這是一個巫師。我正在使用GridLayout

+0

您使用的是什麼佈局? –

+0

@ greg-449 GridLayout – ka3ak

回答

2

如果您使用GridLayout進行佈局,則可以在組合的佈局數據中指定widthHint

GridData data = new GridData(....); 

data.widthHint = 100; 

combo.setLayoutData(data); 

如果這是在一個對話框,您可以使用convertWidthInCharsToPixels(chars)指定字符,而不是像素的寬度。 Dialog也具有此方法的靜態版本,您可以在對話框之外使用該方法。