将Word嵌入Delphi中
来源:互联网 发布:连笔字签名设计软件 编辑:程序博客网 时间:2024/04/29 04:20
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://bigpower.blog.51cto.com/209892/90287
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls,Comobj;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Panel1Resize(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
FComApp:OleVariant;
gWaveHwnd:Hwnd;
public
{ Public declarations }
procedure SetParentWindow(pParent: TWinControl);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
Word : Variant;
begin
FComApp := CreateOLEObject('Word.Application');
FComApp.Documents.Open(extractfilepath(Application.ExeName)+'/test.doc',false);
FComApp.Visible := True;
Label1.Caption := FComApp.ActiveWindow.Caption;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SetParentWindow(Panel1);
end;
procedure TForm1.Panel1Resize(Sender: TObject);
begin
if gWaveHwnd<>0 then
begin
FComApp.ActiveWindow.Height := Panel1.Height;
FComApp.ActiveWindow.Width := Panel1.Width;
Windows.MoveWindow(gWaveHwnd,0,0,Panel1.Width,Panel1.Height,false);
end;
end;
procedure TForm1.SetParentWindow(pParent: TWinControl);
var
lWaveHwnd : Hwnd;
lWidth, lHeight: Integer;
lWindowCaption: String;
begin
//lwaveHwnd := FindWindow(nil,'Microsoft Word');//窗口标题
lWindowCaption := FComApp.ActiveWindow.Caption;
lwaveHwnd := FindWindow(nil,pAnsiChar(lWindowCaption+' - Microsoft Word'));//窗口标题
//lwaveHwnd := FindWindowW(nil,pWideChar(String(FComApp.ActiveWindow.Caption)));//窗口标题
Windows.SetWindowLong(lWaveHwnd,GWL_STYLE,GetWindowLong(lWaveHwnd, GWL_STYLE)
and not (WS_CAPTION or WS_SYSMENU));
Windows.SetParent(lWaveHwnd,pParent.Handle);
gWaveHwnd:=lWaveHwnd;
lWidth := pParent.Width;
lHeight := pParent.Height;
Windows.MoveWindow(lWaveHwnd,0,0,lWidth,lHeight,false);
//mParent := pParent;
end;
end.
本文出自 “delphi研究” 博客,请务必保留此出处http://bigpower.blog.51cto.com/209892/90287
- 将Word嵌入Delphi中
- 将Word嵌入Delphi中
- 将Word嵌入Delphi中
- 将MS Word 嵌入C# Winform 中
- 详解如何将MathType嵌入word中
- Delphi编写ActiveX控件及程序中嵌入word方案
- 将Word嵌入到自己的程序中
- C# 将excel表格嵌入到Word中
- C#操作Word(二)——将Word文档嵌入到WinForm窗体中
- C#操作Word(二)——将Word文档嵌入到WinForm窗体中
- 在MFC中嵌入Word
- 在DELPHI中嵌入脚本语言
- Delphi中编辑word
- delphi中关于使用CreateOleObject方法控制word的一些心得。将word放入到pannel中
- MFC在应用程序中嵌入MS Word
- 在WinForm中嵌入Word和Excel
- SWT 中嵌入Word 控件应用
- 在PB中嵌入Word文档
- 日本项目
- C++_STL经典书单
- 距考研又近了一步
- MTK之GPRS相关文档
- JSP/Servlet中解析乱码乱码问题
- 将Word嵌入Delphi中
- 三维向量的叉乘与点成
- javascript事件监听机制
- c++对txt文件的读取与写入
- 求一个串中出现的第一个最长可重叠重复子串 [后缀数组解法]
- JSP - JSP中的脚本、指令、动作和注释
- 重写(覆盖)与重载 Override and Overload
- C#文件操作中文乱码问题
- 新家第一笔