- 浏览: 3506455 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
我这里用的是SWT/JFace开发application,SWT自带的org.eclipse.swt.ole.win32 包可以支
持内嵌OLE和ActiveX。
具体用法如下:
//创建一个OleFrame做为OLE(或ActiveX)的框架
OleFrame oleFrame = new OleFrame(this, SWT.NONE);
//创建ActiveX的容器,其中的classID是ActiveX的claid,在注册表中可以找到
OleControlSite oleControl = new OleControlSite(oleFrame, SWT.NONE, “classID”);
//OleAutomation类用来执行ActiveX中的方法
OleAutomation oleAutomation = new OleAutomation(oleControl);
//将ActiveX显示在application中
oleControl.doVerb(OLE.OLEIVERB_SHOW);
调用AcitveX中方法的具体过程:
1、不带参数的方法调用
//获取Method Name的ID,Method Name为ActiveX中具体的方法名
int[] regspid = oleAutomation.getIDsOfNames(new String[] { "Method Name" });
int dispIdMember = regspid[0];
//方法调用
oleAutomation.invoke(dispIdMember);
2、带参数的方法调用
//获取Method Name的ID,Method Name为ActiveX中具体的方法名
int[] regspid = oleAutomation.getIDsOfNames(new String[] { "Method Name" });
int dispIdMember = regspid[0];
//设置方法的具体参数。Variant数组的长度为Method Name方法参数的个数
//假设有四个参数
Variant[] rgvarg = new Variant[4];
rgvarg[0] = new Variant(fileID);
rgvarg[1] = new Variant(itdsURL);
rgvarg[2] = new Variant(idType);
rgvarg[3] = new Variant(reportURL);
//方法调用
oleAutomation.invoke(dispIdMember, rgvarg);
调用OLE Exemple:Java程序内嵌Word应用程序
package geftest.swt;
import java.io.File;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.ole.win32.OLE;
import org.eclipse.swt.ole.win32.OleClientSite;
import org.eclipse.swt.ole.win32.OleFrame;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Composite;
public class ActiveXTest
{
private Shell sShell = null;
private Button button = null;
private OleClientSite clientSite;
public static void main(String[] args)
{
Display display = Display.getDefault();
ActiveXTest thisClass = new ActiveXTest();
thisClass.createSShell();
thisClass.sShell.open();
while (!thisClass.sShell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
/**
* This method initializes sShell
*/
private void createSShell()
{
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 3;
sShell = new Shell();
sShell.setText("Shell");
sShell.setLayout(gridLayout);
sShell.setSize(new Point(800, 600));
OleFrame frame = new OleFrame(sShell, SWT.NONE);
button = new Button(sShell, SWT.NONE);
button.setLayoutData(gridData);
button.setText("Save");
button.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e)
{
clientSite.save(new File("d:/test.docx"),true);
}
});
frame.setSize(800,600);
clientSite = new OleClientSite(frame, SWT.NONE,"Word.Document.8");
clientSite.setSize(400,400);
clientSite.doVerb(OLE.OLEIVERB_SHOW);
}
}
分享到:
持内嵌OLE和ActiveX。
具体用法如下:
//创建一个OleFrame做为OLE(或ActiveX)的框架
OleFrame oleFrame = new OleFrame(this, SWT.NONE);
//创建ActiveX的容器,其中的classID是ActiveX的claid,在注册表中可以找到
OleControlSite oleControl = new OleControlSite(oleFrame, SWT.NONE, “classID”);
//OleAutomation类用来执行ActiveX中的方法
OleAutomation oleAutomation = new OleAutomation(oleControl);
//将ActiveX显示在application中
oleControl.doVerb(OLE.OLEIVERB_SHOW);
调用AcitveX中方法的具体过程:
1、不带参数的方法调用
//获取Method Name的ID,Method Name为ActiveX中具体的方法名
int[] regspid = oleAutomation.getIDsOfNames(new String[] { "Method Name" });
int dispIdMember = regspid[0];
//方法调用
oleAutomation.invoke(dispIdMember);
2、带参数的方法调用
//获取Method Name的ID,Method Name为ActiveX中具体的方法名
int[] regspid = oleAutomation.getIDsOfNames(new String[] { "Method Name" });
int dispIdMember = regspid[0];
//设置方法的具体参数。Variant数组的长度为Method Name方法参数的个数
//假设有四个参数
Variant[] rgvarg = new Variant[4];
rgvarg[0] = new Variant(fileID);
rgvarg[1] = new Variant(itdsURL);
rgvarg[2] = new Variant(idType);
rgvarg[3] = new Variant(reportURL);
//方法调用
oleAutomation.invoke(dispIdMember, rgvarg);
调用OLE Exemple:Java程序内嵌Word应用程序
package geftest.swt;
import java.io.File;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.ole.win32.OLE;
import org.eclipse.swt.ole.win32.OleClientSite;
import org.eclipse.swt.ole.win32.OleFrame;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Composite;
public class ActiveXTest
{
private Shell sShell = null;
private Button button = null;
private OleClientSite clientSite;
public static void main(String[] args)
{
Display display = Display.getDefault();
ActiveXTest thisClass = new ActiveXTest();
thisClass.createSShell();
thisClass.sShell.open();
while (!thisClass.sShell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
/**
* This method initializes sShell
*/
private void createSShell()
{
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 3;
sShell = new Shell();
sShell.setText("Shell");
sShell.setLayout(gridLayout);
sShell.setSize(new Point(800, 600));
OleFrame frame = new OleFrame(sShell, SWT.NONE);
button = new Button(sShell, SWT.NONE);
button.setLayoutData(gridData);
button.setText("Save");
button.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e)
{
clientSite.save(new File("d:/test.docx"),true);
}
});
frame.setSize(800,600);
clientSite = new OleClientSite(frame, SWT.NONE,"Word.Document.8");
clientSite.setSize(400,400);
clientSite.doVerb(OLE.OLEIVERB_SHOW);
}
}
分享到:
发表评论
-
字符串分割--java中String.split()用法
2013-03-06 14:25 74155在java.lang包中有String.sp ... -
用 HttpServletResponseWrapper 实现 Etag 过滤器
2012-07-09 16:58 3764原文出处:http://blog.chenlb.com/200 ... -
Fitnesse使用
2012-05-05 13:27 23504Fitnesse 的使用 一,介绍 Fitnesse是一种 ... -
Customizing the new FitNesse parser
2012-05-05 13:13 2138FitNesse began its life using ... -
Google Java Developer Tools Downloads
2011-08-09 00:04 2350WindowBuilder Pro原来叫WindowB ... -
Jalita
2011-08-06 00:49 1569Jalita (Java light terminal ada ... -
【转】用Java写字符终端界面
2011-07-29 13:13 2125终端界面GUI开源项目charva。 这个框架让你可以用开发 ... -
[转]mybatis下的分页,支持所有的数据库
2011-07-21 13:21 14843大 家都知道,mybatis的自带分页方法只是逻 ... -
Java framework for text- & console-based forms?
2011-07-21 01:06 1713charva jcurses JNA , ... -
JNA(Java Native Access)学习入门
2011-07-21 01:04 22655Java Native Access 项目 在 ... -
JAVA上加密算法的实现用例
2011-06-25 12:38 4886来源:www.ibm.com ... -
如何将GlassFish作为Windows服务运行
2011-05-18 23:21 2377本文档来自GlassFish官方网站,详细介绍了将 G ... -
JAVA UDP打洞必备知识点---NAT
2011-05-05 12:56 8709一、引言 RFCl631 ... -
Keystore概念,Keytool工具使用
2011-04-28 16:20 2909近来由于项目需要做Single Sign On, 研究了一 ... -
利用Eclipse Profile Plugin监控分析Tomcat性能
2011-04-18 16:14 3707目前新版本的Eclipse在启动应用服务器的时候有一个新的选 ... -
m2eclipse: Eclipse is running in a JRE, but a JDK is required
2011-02-04 23:43 2546Eclipse 安装了Maven插件,启动Eclipse ... -
利用JNative实现Java调用动态库
2010-10-18 00:43 2105由于项目要求,需要用J ... -
RHEL5支持大内存
2010-10-08 16:19 3014安装 RHEL 5 ,硬件为 4G 内存,安装完成 ... -
Windows Server 2003 和 Windows 2000 提供大内存支持
2010-10-08 16:19 1858本文介绍物理地址扩展 ... -
Understanding WebLogic Server Application Classloading
2010-09-08 11:06 2365Understanding WebLogic Server A ...
相关推荐
在excel中可以通过窗体或ActiveX控件达到动态控制图表显示的目的,但当Excel图表作为对象内嵌到PPT后,在PPT播放模式下,所有在Excel对象中的控件都是不可选的,只能在PPT的编辑模式下双击对象后在Application.Excel...
在excel中可以通过窗体或ActiveX控件达到动态控制图表显示的目的,但当Excel图表作为对象内嵌到PPT后,在PPT播放模式下,所有在Excel对象中的控件都是不可选的,只能在PPT的编辑模式下双击对象后在Application.Excel...
DSO Framer,全称Dynamic Server Objects Framer,它是一种ActiveX控件,可以在WinForm中作为容器来承载Office应用程序的对象模型。通过DSO Framer,开发者可以创建一个窗口,该窗口内嵌有Office应用程序,使得用户...
WPF提供了一个内置的`WebBrowser`控件,它可以加载和显示HTML内容,同时也支持内嵌ActiveX控件。因此,我们可以通过`WebBrowser`控件来加载包含Flash内容的网页,从而在WPF程序中展示Flash。 **3. 示例代码** 下面...
2. **JavaScript和C++桥接**:通常,网页中的JavaScript代码可以通过调用ActiveX控件的方法与应用程序的C++代码进行交互。这需要在C++中暴露一些函数,然后在JavaScript中通过特定的API调用这些函数。 3. **事件...
这是一个ActiveX控件,可以在WinForm表单中显示Unity内容。首先,你需要在Unity中导出为Web Player格式的项目,然后在WinForm设计视图中添加`AxUnityWebPlayer`控件,并设置其`Src`属性指向Unity的Web Player文件...
3. **WinForm控件嵌入Excel**:项目可能使用了WebBrowser控件或者 AxHost控件(用于托管ActiveX对象)将Excel工作簿嵌入到WinForm窗口中。这样,用户就可以在应用程序内部查看和编辑Excel内容。 4. **事件处理**:...
- 内嵌的`<object>`标签和`<param>`标签一起构成了一个备份方案,当用户的浏览器不支持ActiveX控件时,会尝试使用其他方式加载PDF文件。 #### 三、关键知识点解析 ##### 1. ActiveX控件 - **定义**:ActiveX控件...
Chrome浏览器调用OCX插件是一项技术,允许用户在Chrome中使用特定的ActiveX控件,这些控件通常用于提供Windows应用程序中不常见的功能。OCX(Object Container Exchange)是微软开发的一种组件对象模型(COM),它...
在创建浏览器上下文中,`AtlAxWinInit`通常用于初始化一个ActiveX容器,这允许在应用程序中嵌入和控制ActiveX控件,例如Microsoft的WebBrowser控件。WebBrowser控件是一个强大的组件,它能内嵌于任何支持ActiveX的...
4. **ActiveX控件**: Word的嵌入实际上是通过在Form上添加一个ActiveX控件实现的,这个控件对应于运行的Word应用实例。 5. **事件处理**: 为了实现交互功能,如打开、保存、打印等,你需要为Word控件绑定相应的事件...
这个组件通常被称为"ActiveX Host"或者"WebBrowser控件",它允许WPF应用程序通过内嵌Internet Explorer的ActiveX控件来呈现Flash内容。以下是一步一步的实现步骤: 1. 添加WebBrowser控件:在WPF设计视图或XAML代码...
在VB的Form设计视图中,添加一个"ActiveX 控件"(如MSComctlLib的OCX控件),例如"Microsoft WebBrowser"控件。这个控件可以显示HTML内容,同样也可以显示Word文档。双击控件,在属性窗口中设置其`Object`属性为`...
本项目“WinAPI-Embed-Browser”专注于展示如何将Internet Explorer浏览器控件(也称为ActiveX控件)集成到基于WinAPI的C语言程序中。这个技术允许开发者在他们的应用程序中内嵌一个功能完备的网页浏览组件,使得...
ActiveX控件是一种可重用的软件组件,可以在VB中直接嵌入,为程序增添更多功能。例如,通过插入ActiveX Web浏览器控件,我们可以让VB应用程序内嵌网页浏览功能;使用Excel控件,则可以实现数据处理和报表生成。 在...
1. **ActiveX控件**:在VC++中,可以使用ActiveX控件来嵌入Word。ActiveX是COM的一个子集,提供了一种在不同应用程序间共享代码的方式。通过插入一个ActiveX控件,用户可以在自定义的界面中看到并操作嵌入的Word实例...
Adobe Reader SDK提供了一个ActiveX控件AcroExch.App,可以在MFC程序中直接嵌入PDF阅读器。你可以在一个对话框或者视图类中添加这个控件,并通过调用其方法来打开和控制PDF文件。例如,你可以创建一个`...
DSO Framer是由微软提供的一个ActiveX控件,它允许开发者将Word、Excel或PowerPoint等Office应用程序嵌入到Windows Forms应用程序中。下面我们将详细介绍DSO Framer的使用步骤、注意事项以及相关的编程知识。 **1. ...
为了在Winform窗体中显示这些组件,你可以使用AxHost控件,它是.NET Framework提供的一个容器,可以用来承载ActiveX控件。例如,可以创建一个AxHost控件,并将Excel或Word的窗口句柄赋值给控件的Handle属性,从而...
VLC提供了ActiveX控件和NPAPI插件,适用于不同的浏览器。例如,对于支持NPAPI插件的旧版Firefox或Chrome,可以使用以下代码: ```html <object type="application/x-vlc-plugin" pluginspage=...