`

Eclipse RCP开发入门学习笔记——04.在Windows中使用Active X控件

阅读更多

---------------------------------------------------------------------------------------------------

学习: http://www.blogjava.net/youxia/archive/2006/11/28/84013.html

---------------------------------------------------------------------------------------------------

 

1. 新建 OleView:

package hellorcp.ole;

import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.ole.win32.OleFrame;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;

public class OleView extends ViewPart {
	public OleFrame frame;

	public static final String ID = "hellorcp.view.OleView"; //$NON-NLS-1$

	/**
	 * Create contents of the view part
	 * 
	 * @param parent
	 */
	@Override
	public void createPartControl(Composite parent) {
		// 创建OleFrame对象
		frame = new OleFrame(parent, SWT.NONE);

		//
		createActions();
		initializeToolBar();
		initializeMenu();
	}

	/**
	 * Create the actions
	 */
	private void createActions() {
		// Create the actions
	}

	/**
	 * Initialize the toolbar
	 */
	private void initializeToolBar() {
		IToolBarManager toolbarManager = getViewSite().getActionBars()
				.getToolBarManager();
	}

	/**
	 * Initialize the menu
	 */
	private void initializeMenu() {
		IMenuManager menuManager = getViewSite().getActionBars()
				.getMenuManager();
	}

	@Override
	public void setFocus() {
		// Set the focus
	}

}

 

2. 新建 OpenFileAction:

package hellorcp.ole;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.ole.win32.OLE;
import org.eclipse.swt.ole.win32.OleAutomation;
import org.eclipse.swt.ole.win32.OleClientSite;
import org.eclipse.swt.ole.win32.Variant;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IViewReference;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;

public class OpenFileAction implements IWorkbenchWindowActionDelegate {
	IWorkbenchWindow window;

	public void dispose() {
		// TODO 自动生成方法存根
	}

	public void init(IWorkbenchWindow window) {
		this.window = window;
	}

	public void run(IAction action) {
		IViewReference[] vfs = window.getActivePage().getViewReferences();
		IViewPart vw;
		for (int i = 0; i < vfs.length; i++) {
			vw = vfs[i].getView(false);
			if (vw.getTitle().equals("使用Active X控件")) {
				OleClientSite client = new OleClientSite(((OleView) vw).frame,
						SWT.NONE, "Shell.Explorer.2");
				client.doVerb(OLE.OLEIVERB_SHOW);
				OleAutomation oa = new OleAutomation(client);
				Variant str = new Variant("http://www.iteye.com/");
				oa.invoke(104, new Variant[] { str });
			}
		}
	}

	public void selectionChanged(IAction action, ISelection selection) {
		// TODO 自动生成方法存根
	}

}

  

3. 修改 Perspective.java, 修改后:

package hellorcp;

import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;

public class Perspective implements IPerspectiveFactory {

	public void createInitialLayout(IPageLayout layout) {
		// FirstView
		String editorArea = layout.getEditorArea();
//		layout.addView("hellorcp.view.FirstView", IPageLayout.RIGHT, 0.2f,
//				editorArea);

		// SecondView
//		layout.setEditorAreaVisible(false);
//		layout.addView("hellorcp.view.SecondView", IPageLayout.RIGHT, 0.5f,
//				editorArea);
		
		// OleView
		layout.addView("hellorcp.ole.OleView", IPageLayout.RIGHT, 0.5f,
				editorArea);
	}

}

 

4. 配置 plugin.xml:

1) action 配置片段:

          	<action
				class ="hellorcp.ole.OpenFileAction" 
             	icon ="icons/alt_window_16.gif" 
             	id ="hellorcp.ole.OpenFileAction" 
          	    label ="Ole菜单项" 
				menubarPath ="hellorcp.firstmenu/additions" 
              	style ="push" 
                toolbarPath ="additions" 
               	tooltip ="Ole菜单项" /> 

  

2) view 配置片段:

         <view
         	class="hellorcp.ole.OleView"
         	id="hellorcp.ole.OleView"
         	name="使用Active X控件" />

 

5. 保存,运行(点击工具类第1个图标),效果如下:

 

 

  • 大小: 68.6 KB
分享到:
评论

相关推荐

    eclipse RCP Plug-in开发自学教程.pdf

    eclipse RCP(Rich Client Platform)是一种基于eclipse的插件式开发平台,允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序。RCP插件式开发方式可以重用eclipse中的方法和编码模式,提高开发效率和代码...

    eclipse rcp 插件开发学习笔记.pdf 15-24章

    在提供的压缩包中,包含了关于Eclipse RCP插件开发15至24章的学习笔记,这些章节覆盖了多个关键主题,下面将对这些主题进行详细解读。 1. **第15章:对话框和向导(Dialogs and Wizards)** - 在Eclipse RCP中,...

    eclipse rcp 插件开发学习笔记.pdf 1-14章

    以下是对Eclipse RCP插件开发学习笔记1-14章的详细知识点解析: 1. **第1章 Eclipse平台简介**: - Eclipse平台是基于OSGi(Open Service Gateway Initiative)标准的,提供了插件模型,使得开发者可以构建、运行...

    Eclipse的RCP开发的入门教程

    "使用Eclipse RCP进行桌面程序开发(四):在Windows中使用Active X控件 .doc"针对Windows平台,介绍了如何集成ActiveX控件到RCP应用中,使开发者可以利用这些现成的组件扩展应用程序的功能。 "使用Eclipse RCP进行...

    Eclipse RCP Plugin 开发自学入门指南(CEC首发)

    Eclipse RCP 允许开发者使用 eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中 已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP 入手可能会比较困难、费时。接下 来我们将主要讲述如何让RCP ...

    eclipse rcp应用系统开发方法与实战源代码.zip

    在"eclipse rcp应用系统开发方法与实战源代码.zip"中,我们可以学习到以下关键知识点: 1. **Eclipse RCP架构**:理解Eclipse RCP的基础架构非常重要,包括插件(Plugins)、工作台(Workbench)、视图(Views)、...

    ECLIPSE RCP应用系统开发方法与实战.pdf

    总的来说,《ECLIPSE RCP应用系统开发方法与实战》是一本全面覆盖Eclipse RCP开发的指南,涵盖了从基础到高级的主题,对于希望在桌面应用程序开发领域使用Eclipse RCP的人来说,是一份宝贵的资源。通过深入学习这...

    rcp自己通过扩展点新建java项目

    在Eclipse RCP(Rich Client Platform)开发中,创建自定义的新建项目向导是提升用户体验和增强应用程序功能的重要步骤。`rcp自己通过扩展点新建java项目`这个主题涉及了如何利用Eclipse的插件体系和扩展点机制来...

    Eclipse RCP 开发入门

    ### Eclipse RCP 开发入门详解 #### 一、Eclipse RCP 概述 Eclipse Rich Client Platform (RCP) 是一种基于Java的框架和技术集合,用于构建具有丰富用户体验的应用程序。Eclipse RCP 提供了一种灵活的方式来构建...

    eclipse-RCP-3.1.1-win32.zip

    在本文中,我们将深入探讨Eclipse RCP、JFace和SWT,以及如何使用这个压缩包进行开发工作。 Eclipse RCP允许开发者使用面向服务的架构来创建功能丰富的桌面应用程序。它基于Eclipse IDE,提供了丰富的插件系统和可...

    EclipseRCP系统开发与实战(书).rar

    这本书《Eclipse RCP系统开发与实战》显然是针对想要学习和掌握Eclipse RCP技术的程序员,通过实战案例帮助读者深入理解Eclipse RCP的开发过程。 1. **Eclipse RCP基础知识** - Eclipse RCP是一种基于Java的开发...

    Eclipse RCP.pdf清晰版

    ### Eclipse RCP 入门详解 #### 一、Eclipse RCP 概述 **Eclipse RCP**(Rich Client Platform)是一种构建丰富客户端应用程序的框架,它利用Eclipse平台的强大功能来创建高度定制化的桌面应用程序。通过RCP,...

    Eclipse插件开发学习笔记全篇+源码.rar

    Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java开发者中非常流行。Eclipse插件开发是扩展其功能和定制工作环境的关键技术。...在学习过程中,建议动手实践,逐步积累经验,成为Eclipse插件开发的专家。

    Eclipse RCP 开发资料

    Eclipse RCP 开发资料打包下载 目录如下: RCP程序设计.pdf(推荐) Addison.Wesley.Eclipse.Rich.Client.Platform.Designing.Coding.and.Packaging.Java.Applications.Oct.2005.chm Eclipse+RCP入门.pdf example_...

    通过例子学习EclipseRCP开发

    ### 通过例子学习Eclipse RCP开发 #### Eclipse RCP概览 Eclipse RCP(Rich Client Platform,富客户端平台)是一种基于Java的框架和技术集合,用于构建具有丰富用户界面的应用程序。它允许开发者创建高度可定制且...

    eclipse rcp开发入六教程及培训资料

    网络中最全面最合适学习或开发的相关资料全面都有; 包含eclipse rcp开发入门教程; eclipse rcp基础教程;eclipse rcp开发自学教程; eclipse rcp开发培训教程及ppt等相关资料;教程中包含一步步操作实例,包含对...

    eclipse插件开发 rcp入门开发详细讲解一

    通过本文的学习,我们不仅了解了Eclipse RCP插件开发的基本过程,还掌握了不同的运行模式及其应用场景。无论是对于初学者还是有一定经验的开发者来说,掌握这些知识都将对实际工作大有裨益。希望本文能够帮助大家更...

    eclipse RCP入门示例介绍

    ### Eclipse RCP 入门示例介绍 #### 一、Eclipse 概述 Eclipse 是一款由 IBM 开发并贡献给开源社区的集成开发环境(Integrated Development Environment, IDE),自发布以来,迅速成为了最受欢迎的 Java 开发工具...

    Eclipse RCP开发教程

    **Eclipse RCP 开发教程** Eclipse Rich Client Platform (RCP) 是一个用于构建桌面应用程序的框架,它基于 Eclipse IDE 平台,允许开发者利用 Eclipse 的强大功能和丰富的插件系统来创建自定义的、可扩展的应用...

Global site tag (gtag.js) - Google Analytics