定義
OleContainer是DELPHI中提供的一個OLE包容器部件。使用它,可方便地把WORD、EXCEL等功能集成到自己的軟體中來。相當於在自己的軟體也可以使用WORD文字處理、EXCEL的表格功能了。
OleContainer控制項的主要屬性
1) AllowInPlace property AllowInPlace:Boolean;
這個屬性用於決定啟動OLE對象服務程式的方式,如果為假,那么運行其間激活OLE對象時,打開整個OLE服務程式,即單獨開一個視窗,而為真時, 則把服務的選單合併到應用程式中.
2) AutoActive type TAutoActivate=(aaManual,aaGetFocus,aaDoubleClick);
property AutoActivate: TAutoActivate;
找開方式. 其中aaManual時,要激活OLE對象,必須在程式中調用方法DoVerb(OnShow)
3) CanPaste property CanPaste:Boolean;
唯讀屬性,如果剪貼簿中的內容適合貼上到一個OLE對象,則為true, 否則為false
4) CopyOnsave property CopyOnsave:boolean;
為真則表示把OLE對象臨時寫到一個檔案中,反之表示全部留在內在中.
5) Iconic property Iconic:Boolean;
是否以圖示方式顯示以節省螢幕上的空間
6) Linked property Linked:Boolean;
唯讀屬性,返回真表示OLE對象是連線到文檔中,返回假表示OLE對象是嵌入到文檔中.
7) Modify property modified:Boolean;
當OLE對象發生了變化時(包括這個對象被刪除或被其他OLE對象所替代),這個屬性被設定為真
8) NewInserted property NewInserted:Boolean;
唯讀,如果剛剛調用的InsertObjectDialog函式插入了一個OLE對象,返回真.這時可調用Doverb(OvShow)激活這個OLE對象.
9) OleClassName property OleClassName:string;
唯讀. 返回OLE對象的類名, 當程式中有多個OLE對象時,可以用這個屬性作為它們各自的標籤.
10)OleObject property oleobject:Variant;
唯讀, 返回OLE容器中的OLE對象, 這個屬性很重要,通過這個屬性可以訪問OLE服務程式.
11) OleObjectInterface property OleObjectInterface:IOleObject;
唯讀. 返回OLE對象的OleObject接口,在直接調用OLE的API需要用到這個接口.
12) OldStreamFormat property OldStreamFormat:Boolean;
如果為真, OLE對象就以OLE1的格式存儲, 為假就以OLE2的格式存儲.
13) PrimaryVerb property PrimaryVerb: integer;
唯讀. 返回OLE對象可進行的操作中主操作的索引號(序號)
14) SizeMode type TSizeMode = (smClip, smCenter, smScale, smStretch, smAutoSize);
property SizeMode:TSizeMode;
smClip, 超過容器的部分將被裁減.
smCenter, 中間.
smScale, 自動適應容器的大小
smStretch, 自動撐滿
smAutoSize, 容器自動調整, 以適應OLE的大小.
15) State type TObjectState=(osEmpty,osLoaded,osRunning,osOpen,osInPlaceActive,osUIActive);
property State: TObjectState;
唯讀, 返回OLE對象的狀態,可以是以下值.
osEmpty,容器中沒有OLE對象.
osLoaded,容器中有OLE對象.但OLE服務程式沒有運行.
osRunning,伺服器正在運行.
osOpen,對象正在運行,OLE服務程式單獨運行.
osInPlaceActive,對象正在運行,OLE服務程式選單將要被合併到客戶程式中運行.
osUIActive,對象正在運行,OLE服務程式選單已經被合併到客戶程式中運行.
OleContainer 控制項的主要方法
1) ChangeIconDialog function ChangeIconDialog:Boolean;
調用這個函式將打開一個更改圖示的對話框. 當OLE對象以圖示顯示時,就以用戶選擇的圖示顯示.
2) Close 過程 procedure Close;
關閉. 如果OLE對象已修改,調用Close將首先保存OLE對象.
3) Copy 過程 procedure copy;
把OLE對象複製到剪貼簿中
4) CteateLinkToFile方法 procedure CreateLinkToFile(FileName:string; Iconic:Boolean);
創建一個OLE對象,其內容從指定的檔案中讀取,創建的OLE對象連結到OLE容器中. 如果OLE容器中已經有一個OLE對象, 這個已有的OLE對象將被刪除,未保存的修改也被作廢. Iconic參數設為True表示OLE對象以圖示顯示.
5) CreateObject 過程. procedure CreateObject(const OleClassName:string;Iconic:Boolean);
這個過程用於創建一個OLE對象,OleClassName參數指定對象的識別名,創建後的OLE對象嵌入到OLE容器中,如果OLE容器中已經有一個OLE對象, 這個已有的OLE對象將被刪除,未保存的修改也被作廢. Iconic參數設為True表示OLE對象以圖示顯示.
6) CreateObjectFromFile 過程 procedure CreateObjectFromFile(const FileName:string; Iconic:Boolean);
創建一個OLE對象,其內容從指定的檔案中讀取,創建的OLE對象嵌入到OLE容器中. 如果OLE容器中已經有一個OLE對象, 這個已有的OLE對象將被刪除,未保存的修改也被作廢. Iconic參數設為True表示OLE對象以圖示顯示.
7) CreateObjectFromInfo 方法, procedure CreateObjectFromInfo(const CreateInfo:TCreateInfo);
創建一個OLE對象,其內容從CreateInfo參數年指定的記錄中讀取(這個參數是個記錄類型,包含了創建OLE對象所需要的信息)
8) DoVerb 方法. procedure DoVerb(Verb:Integer);
用於對OLE對象進行操作,verb參數指定操作類型.
9) ObjectPropertiesDialog函式 function objectPropertiesDialog:Boolean;
用來打開Windows OLE對象屬性對話框,用於修改OLE對象的屬性.
10) Run 方法.procedure Run;
用於運行OLE服務程式,但並不激活OLE對象本身,當服務程式處於運行狀態後激活OLE對象將非常快.
11) PasteSpecialDialog方法 function PasteSpecialDialog:Boolean;
該方法打開Windows的選擇性貼上對話框.