使用TOleContainer開啟Word的版面問題 |
答題得分者是:Chance36
|
00156
高階會員 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
00156 你好 由於OleContainer在Active時竟會佔滿整個Form,連Form上面其他的元件皆被覆蓋,原因不曉得,沒關係!山不轉路轉,將包含OleContainer的Form嵌入到主Form的某個Panel不就好了。 有了概念後,系統架構如下所述: 1.建立主Form ,上面放需要的元件及一個Panel(OleContainer所要顯示的範圍
由Panel來決定) 2.建立OleContainer所屬的Form,放上OleContainer及相關設定,同時將Form
的邊框設為無(顯示時比較好看) 3.在主Form的OnShow事件中
procedure TMainForm.FormShow(Sender: TObject); begin OleForm.Parent := Panel1; OleForm.Align := alClient; OleForm.Show; end; 具體程式範例如下: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=54763 程式執行畫面如下_______________________________________ 深藍的魚,祝您好運..........連連 發表人 - chance36 於 2004/08/14 02:10:26 |
00156
高階會員 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
Chance36您好,感謝您提供的方法。
我實際試驗了一下,卻得到相同的結果:(按下開啟按鈕後...)
版面還是被佔據了。下面是我的程式碼,不知道哪裡有問題: //主要的表單是Form1,內有OlePanel(TPanel)元件;含OleContainer的OleForm,內有oc(TOleContainer)元件 procedure TForm1.Button1Click(Sender: TObject); //按下開啟按鈕的程式碼 begin OleForm:=TOleForm.Create(self); OleForm.Parent:=OlePanel; OleForm.Align:=alClient; OleForm.oc.CreateObject('Word.Document',false); OleForm.Show; OleForm.oc.AutoActivate:=aaGetFocus; OleForm.oc.SetFocus; end;另外,我下載您的範例,但是沒辦法解開壓縮... 請指點一下。謝謝! |
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
|
00156
高階會員 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
感謝兩位前輩提供的資訊! 我採用Chance36的方法...不過試了很久,終於發現原先問題所在了...將OleContainer的Form指定到主要Form的Panel以前,一定要先建置好物件(Word.Document),工具列才會內嵌到Panel裡,否則版面仍然會照原來的配置。所以程式碼要改為:
//主要的表單是Form1,內有OlePanel(TPanel)元件;含OleContainer的OleForm,內有oc(TOleContainer)元件 procedure TForm1.Button1Click(Sender: TObject); //按下開啟按鈕的程式碼 begin OleForm:=TOleForm.Create(self); OleForm.Visible:=false; OleForm.Align:=alClient; OleForm.oc.CreateObject('Word.Document',false); OleForm.Parent:=OlePanel; //這行要在CreateObject之後... OleForm.Show; OleForm.oc.AutoActivate:=aaGetFocus; OleForm.oc.SetFocus; end;一點心得分享 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |