0
,所以我有Eclipse的SWT:如何禁用鼠标滚轮scrolledcomposite滚动
与A部分:(我将不遗余力你的布局细节,它只是为了显示我的设置)
sc = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
drawingPane = new Composite(sc, SWT.NONE);
drawingPane.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_BLACK));
sc.setContent(drawingPane);
paintCanvas = new Canvas(drawingPane, SWT.NO_REDRAW_RESIZE | SWT.NO_BACKGROUND);
当我添加然后一个MouseWheelListener
到Canvas,每次事件发生时,ScrolledComposite的垂直滚动条也对它作出反应。
这是一种讨厌。我试过Solution of this Question。但事情是帆布是事件的来源,这是正确的,我需要它。
问题是我怎么能禁止MouseEvent传递给ScrolledComposite? 我也尝试禁用滚动条,但这并不实用,因为我没有在代码中找到任何地方以便之后重新启用它。因为滚动似乎在其他事情之后触发(比如我的画布重绘)。