`
xiehongdong
  • 浏览: 69169 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SWT Broswer 屏蔽鼠标右键

    博客分类:
  • RCP
 
阅读更多

在使用 Browser 控件的时候,右击 Browser 的显示区域,会弹出默认浏览器的下拉菜单,如 图 。

图. 默认弹出菜单

桌面控件的下拉菜单应该是可以自定义的,为了让 Google Map 控件更加贴近 SWT 桌面控件,并且防止用户点击下拉菜单的选项而引起误操作,需要屏蔽默认的 Browser 右键弹出菜单。

public class Test {
	public void run() {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setText("Slashdot");
		createContents(shell);
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
		display.dispose();
	}

	/**
	 * Creates the main window's contents
	 * 
	 * @param shell
	 *            the main window
	 */
	private void createContents(Shell shell) {
		shell.setLayout(new FillLayout());

		// Create a web browser
		final Browser browser = new Browser(shell, SWT.NONE);

		browser.addMouseListener(new MouseListener() {
			public void mouseDoubleClick(MouseEvent arg0) {
			}

			public void mouseDown(MouseEvent event) {
				if (event.button == 3)
					browser.execute("document.oncontextmenu = function() {return false;}");
			}

			public void mouseUp(MouseEvent arg0) {
			}
		});
		
		browser.setUrl("http://www.baidu.com");
//		browser.execute("alert('aaaaa')");
	}

	/**
	 * The application entry point
	 * 
	 * @param args
	 *            the command line arguments
	 */
	public static void main(String[] args) {
		new Test().run();
	}

}

 

为 Browser 控件添加鼠标事件监听,在 mouseDown 中处理鼠标单击事件,event.button == 3 代表右击操作。如果是鼠标右击事件,browser 执行脚本:document.oncontextmenu = function() {return false;},这段 JS 脚本可以阻止浏览器的当前网页弹出右键菜单。

分享到:
评论

相关推荐

    WEB BROSWER控件的使用

    在Windows编程环境中,MFC(Microsoft Foundation Classes)提供了一种高效的方式来开发桌面应用程序。当我们需要在MFC应用中集成Web浏览功能时,可以利用WEB BROWSER控件,它实际上是Internet Explorer的核心组件,...

    从neo4j-broswer剥离出graph图表

    标题中的“从neo4j-broswer剥离出graph图表”指的是将Neo4j浏览器中的图形界面,特别是其数据可视化部分,独立出来进行更深入的定制和使用。这通常涉及到两个关键的技术领域:图形渲染和数据操作。在Neo4j中,图形...

    MG-SOFT MIB Broswer 2018a

    MG-SOFT MIB Browser Professional Edition with MIB Compiler, MIB Explorer and Visual MIB Builder for Windows. Package Version 2018a (published 28-Dec-2017)

    green broswer

    "Broswer"是"browser"的拼写错误,指的是互联网浏览器,这是一种软件应用,用于访问、搜索和浏览互联网上的信息。浏览器的主要功能包括输入网址、加载网页、保存书签、管理历史记录等。常见的浏览器有Chrome、Fire...

    broswer.zip

    很抱歉,根据您提供的信息,"broswer.zip" 和 "broswer.rar" 是两个不同的压缩文件格式,通常 ".zip" 和 ".rar" 都是用来打包和压缩文件的常见格式。在此,我会根据这两个文件可能包含的IT知识进行阐述,但请注意,...

    VC6_IE_Broswer

    这个主题被命名为"VC6_IE_Broswer",暗示我们将关注如何在VC6中使用CWebBrowser2对象来实现这一功能。 首先,让我们了解什么是CWebBrowser2。CWebBrowser2是MFC(Microsoft Foundation Classes)库中的一个类,它是...

    Opera_NI_beta broswer installer 升级包 27.0.1689.44

    Copyright © Opera Software 2015 Opera_NI_beta broswer 升级包 27.0.1689.44

    SQL Broswer启动请求失败

    ### SQL Browser启动请求失败知识点详解 #### 一、问题概述 在使用SQL Server 2008的过程中,可能会遇到“SQL Browser启动请求失败”的错误。此错误通常与SQL Server服务中的一个组件——SQL Server Browser(SQL ...

    my broswer Asynchronous Pluggable Protocol

    "我的浏览器异步可插拔协议"是一个关于网络编程的主题,尤其在Windows环境中,它涉及到浏览器或其他应用程序如何处理网络通信,特别是如何实现非阻塞的、高性能的数据传输。Asynchronous Pluggable Protocol(简称...

    DJY-broswer 利用html做桌面软件

    【DJY-broswer 利用html做桌面软件】 HTML是一种标记语言,通常用于构建网页,但通过一些技术手段,我们可以将其转变为桌面应用程序。DJY-browser项目就是这样的一个实例,它利用HTML作为用户界面,结合JavaScript...

    MIB Broswer

    "MIB Browser"是一款非常强大的工具,专为网络监控工程师设计,用于查看和管理MIB(Management Information Base)中的OID(Object Identifier)信息。MIB是网络管理系统中的核心部分,它定义了网络设备上的管理对象...

    VC++利用WEB Broswer控件制作地图及公交查询系统

    在本项目中,“VC++利用WEB Browser控件制作地图及公交查询系统”是一个结合了C++编程语言和Microsoft的Web Browser控件来实现的实用应用。这个系统的主要目的是为用户提供一个方便的界面,通过该界面用户可以查看...

    my_broswer.rar_C#浏览器源码_CSharp 浏览器_浏览器_浏览器 C#

    【标题】"my_broswer.rar_C#浏览器源码_CSharp 浏览器_浏览器_浏览器 C#" 提供的是一个使用C#编程语言实现的浏览器的源代码。C#(发音为"C sharp")是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows...

    broswer.rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    opera new broswer

    new browser of opera.exe

    RegBrowser

    "RegBrowser"是一款专门用于浏览和编辑Windows注册表的软件工具。它提供了用户友好的界面,使得对系统注册表的管理变得更加便捷。该程序由一系列的源码文件组成,允许开发者深入理解其工作原理并进行定制化开发。...

    Android应用源码之Browser.zip

    《深入剖析Android应用源码:Browser.zip》 在Android系统中,Browser应用是预装的浏览器,它提供了用户浏览网页的基本功能。这份Browser.zip包含了Browser应用的源代码,对于开发者来说,是一个宝贵的参考资料,...

    android_文件浏览器

    在Android平台上,开发一个文件浏览器应用是一个常见的任务,它涉及到对文件系统操作的深入理解和UI组件的使用。本文将详细探讨如何使用ListView和File类来实现一个简单的“android_文件浏览器”。...

    Broswer3D:要在Web平台上使用OSG,请使用ActiveX

    【标题】:“Broswer3D:借助ActiveX在Web上运用OpenSceneGraph(OSG)” 【正文】: OpenSceneGraph(OSG)是一个高性能的3D图形库,主要用于实时三维图形应用程序开发,如游戏、虚拟现实环境和科学可视化。在传统...

    uymasTs:具有用于Broswer的Typescript的基本Web UI

    "uymasTs:具有用于Broswer的Typescript的基本Web UI" 这个标题揭示了项目的核心内容。"uymasTs"很可能是项目或库的名称,它强调了对Typescript的支持,并且是为浏览器设计的一个基础Web用户界面(UI)框架。"用于...

Global site tag (gtag.js) - Google Analytics