Eclipse RCP 之屏蔽视图上的右键菜单

 

需求如题,解决如下:

 

在ApplicationWorkbenchWindowAdvisor类中加上如下方法:
    //屏蔽视图上的右键菜单
    public void postWindowOpen() {
        PlatformUI.getWorkbench().getDisplay().addFilter(SWT.MouseUp,
                new Listener() {
                    public void handleEvent(final Event event) {
                        if (event.button == 3&&event.widget == your editor ) {
                            int hwndCursor = OS.GetCapture();
                            OS.PostMessage(hwndCursor, OS.WM_LBUTTONDOWN,
                                    hwndCursor, OS.HTCLIENT
                                            | (OS.WM_MOUSEMOVE << 16));
                        }
                    }
                });
    }
加上如下方法后,虽然屏蔽掉了右键菜单,但是视图还是可以拖动的,要使其不可以拖动或不可以关闭,应该在Perspective类中的public void createInitialLayout(IPageLayout layout)方法中设置:
        IFolderLayout folderLayout = layout.createFolder("topRight", IPageLayout.RIGHT, 0.77f,editorArea);
        folderLayout.addView(IEView.ID);
        // 设置地图视图不能关闭、不能拖动
        layout.getViewLayout(IEView.ID).setCloseable(false);
        layout.getViewLayout(IEView.ID).setMoveable(false);

发布了10 篇原创文章 · 获赞 13 · 访问量 34万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章