在做项目的时候,很容易碰到操作WORD的情况,delphi提供一种简单的方式利用TOleContainer控件内嵌WORD。如果在单一窗体里调用OLE很容易发生OLE把整个窗体都占据的情况。建立专用的OLE窗体来避免这样的情况放生,使OLE显示在第一个窗体指定的位置(panel)
1.建立工程
program Prj_OleContainer;
uses
Forms,
Unit_OleContainer in 'Unit_OleContainer.pas' {Form1},
Unit_Ole in 'Unit_Ole.pas' {OleForm};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TOleForm, OleForm);
Application.Run;
end.
2.建立主页面
unit Unit_OleContainer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,OleCtnrs, OleServer, WordXP,Unit_Ole;
type
TForm1 = class(TForm)
Panel1: TPanel;
OlePanel: TPanel;
Button1: TButton;
Button2: TButton;
WordDocument1: TWordDocument;
OpenDialog1: TOpenDialog;
Button3: TButton;
Button4: TButton;
Button5: TButton;
SaveDialog1: TSaveDialog;
Button6: TButton;
Button7: TButton;
procedure Button7Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);