在使用 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 脚本可以阻止浏览器的当前网页弹出右键菜单。
分享到:
相关推荐
在Windows编程环境中,MFC(Microsoft Foundation Classes)提供了一种高效的方式来开发桌面应用程序。当我们需要在MFC应用中集成Web浏览功能时,可以利用WEB BROWSER控件,它实际上是Internet Explorer的核心组件,...
标题中的“从neo4j-broswer剥离出graph图表”指的是将Neo4j浏览器中的图形界面,特别是其数据可视化部分,独立出来进行更深入的定制和使用。这通常涉及到两个关键的技术领域:图形渲染和数据操作。在Neo4j中,图形...
MG-SOFT MIB Browser Professional Edition with MIB Compiler, MIB Explorer and Visual MIB Builder for Windows. Package Version 2018a (published 28-Dec-2017)
"Broswer"是"browser"的拼写错误,指的是互联网浏览器,这是一种软件应用,用于访问、搜索和浏览互联网上的信息。浏览器的主要功能包括输入网址、加载网页、保存书签、管理历史记录等。常见的浏览器有Chrome、Fire...
很抱歉,根据您提供的信息,"broswer.zip" 和 "broswer.rar" 是两个不同的压缩文件格式,通常 ".zip" 和 ".rar" 都是用来打包和压缩文件的常见格式。在此,我会根据这两个文件可能包含的IT知识进行阐述,但请注意,...
这个主题被命名为"VC6_IE_Broswer",暗示我们将关注如何在VC6中使用CWebBrowser2对象来实现这一功能。 首先,让我们了解什么是CWebBrowser2。CWebBrowser2是MFC(Microsoft Foundation Classes)库中的一个类,它是...
Copyright © Opera Software 2015 Opera_NI_beta broswer 升级包 27.0.1689.44
### SQL Browser启动请求失败知识点详解 #### 一、问题概述 在使用SQL Server 2008的过程中,可能会遇到“SQL Browser启动请求失败”的错误。此错误通常与SQL Server服务中的一个组件——SQL Server Browser(SQL ...
"我的浏览器异步可插拔协议"是一个关于网络编程的主题,尤其在Windows环境中,它涉及到浏览器或其他应用程序如何处理网络通信,特别是如何实现非阻塞的、高性能的数据传输。Asynchronous Pluggable Protocol(简称...
【DJY-broswer 利用html做桌面软件】 HTML是一种标记语言,通常用于构建网页,但通过一些技术手段,我们可以将其转变为桌面应用程序。DJY-browser项目就是这样的一个实例,它利用HTML作为用户界面,结合JavaScript...
"MIB Browser"是一款非常强大的工具,专为网络监控工程师设计,用于查看和管理MIB(Management Information Base)中的OID(Object Identifier)信息。MIB是网络管理系统中的核心部分,它定义了网络设备上的管理对象...
在本项目中,“VC++利用WEB Browser控件制作地图及公交查询系统”是一个结合了C++编程语言和Microsoft的Web Browser控件来实现的实用应用。这个系统的主要目的是为用户提供一个方便的界面,通过该界面用户可以查看...
【标题】"my_broswer.rar_C#浏览器源码_CSharp 浏览器_浏览器_浏览器 C#" 提供的是一个使用C#编程语言实现的浏览器的源代码。C#(发音为"C sharp")是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
new browser of opera.exe
"RegBrowser"是一款专门用于浏览和编辑Windows注册表的软件工具。它提供了用户友好的界面,使得对系统注册表的管理变得更加便捷。该程序由一系列的源码文件组成,允许开发者深入理解其工作原理并进行定制化开发。...
《深入剖析Android应用源码:Browser.zip》 在Android系统中,Browser应用是预装的浏览器,它提供了用户浏览网页的基本功能。这份Browser.zip包含了Browser应用的源代码,对于开发者来说,是一个宝贵的参考资料,...
在Android平台上,开发一个文件浏览器应用是一个常见的任务,它涉及到对文件系统操作的深入理解和UI组件的使用。本文将详细探讨如何使用ListView和File类来实现一个简单的“android_文件浏览器”。...
【标题】:“Broswer3D:借助ActiveX在Web上运用OpenSceneGraph(OSG)” 【正文】: OpenSceneGraph(OSG)是一个高性能的3D图形库,主要用于实时三维图形应用程序开发,如游戏、虚拟现实环境和科学可视化。在传统...
"uymasTs:具有用于Broswer的Typescript的基本Web UI" 这个标题揭示了项目的核心内容。"uymasTs"很可能是项目或库的名称,它强调了对Typescript的支持,并且是为浏览器设计的一个基础Web用户界面(UI)框架。"用于...