如何根据某些变量在 Widget 上应用各种样式?
How to apply various styles on a Widget depending of some variables?
我想根据变量在文本小部件中应用水平滚动。
我是这样做的:
int style = (SWT.BORDER | SWT.V_SCROLL | SWT.CANCEL | SWT.MULTI);
if (!editable) {
style = (style | SWT.READ_ONLY);
}
if (horizontalScroll) {
style = (style | SWT.H_SCROLL);
}
text = new Text(composite, style);
问题是水平滚动始终存在,即使 horizontalScroll 布尔值是 false。这不是正确的做法吗?
SWT.CANCEL 不是 SWT 文本小部件支持的样式。
在这种情况下你很不幸,因为 SWT.CANCEL 值等于 SWT.H_SCROLL 所以通过添加取消样式你实际上是在添加水平滚动。
SWT Text Widget 支持的样式:CENTER、ICON_CANCEL、ICON_SEARCH、LEFT、MULTI、PASSWORD、SEARCH、SINGLE、RIGHT、READ_ONLY、WRAP。
继承支持的样式:H_SCROLL、V_SCROLL、BORDER、LEFT_TO_RIGHT、RIGHT_TO_LEFT、FLIP_TEXT_DIRECTION
并且您应该检查是否存在某些样式不能搭配的规则(例如 SWT.SINGLE 和 SWT.MULTI)。
我想根据变量在文本小部件中应用水平滚动。
我是这样做的:
int style = (SWT.BORDER | SWT.V_SCROLL | SWT.CANCEL | SWT.MULTI);
if (!editable) {
style = (style | SWT.READ_ONLY);
}
if (horizontalScroll) {
style = (style | SWT.H_SCROLL);
}
text = new Text(composite, style);
问题是水平滚动始终存在,即使 horizontalScroll 布尔值是 false。这不是正确的做法吗?
SWT.CANCEL 不是 SWT 文本小部件支持的样式。
在这种情况下你很不幸,因为 SWT.CANCEL 值等于 SWT.H_SCROLL 所以通过添加取消样式你实际上是在添加水平滚动。
SWT Text Widget 支持的样式:CENTER、ICON_CANCEL、ICON_SEARCH、LEFT、MULTI、PASSWORD、SEARCH、SINGLE、RIGHT、READ_ONLY、WRAP。
继承支持的样式:H_SCROLL、V_SCROLL、BORDER、LEFT_TO_RIGHT、RIGHT_TO_LEFT、FLIP_TEXT_DIRECTION
并且您应该检查是否存在某些样式不能搭配的规则(例如 SWT.SINGLE 和 SWT.MULTI)。