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? 我也嘗試禁用滾動條,但這並不實用,因爲我沒有在代碼中找到任何地方以便之後重新啓用它。因爲滾動似乎在其他事情之後觸發(比如我的畫布重繪)。