如何将OleContainer中激活的Word窗口限制在窗体中某个Panel里面?(200分)

  • 主题发起人 主题发起人 yemingyu
  • 开始时间 开始时间
Y

yemingyu

Unregistered / Unconfirmed
GUEST, unregistred user!
[:(!]如何获得OleContainer中激活的Word窗口的句柄,柄将窗口限制在OleContainer所在窗体中某个Panel里面?现在一旦激活word,其窗口会占据整个客户区(除菜单和工具栏以外的全部区域)。请高手指教。
或者,如果我打开一个外部Word文件,如果将它的显示窗口控制在我程序中窗口的Panel上,并可以随应用程序窗口一起移动。
 
高手同志们不要嫌分少,帮帮忙!
 
OleContainer1.OleObject.CommandBars['Standard'].Visible := false;
OleContainer1.OleObject.CommandBars['Formatting'].Visible:= false;
OleContainer1.OleObject.CommandBars['Menu Bar'].Enabled := false;
------
以上可以隐藏工具条和菜单.
 
窗口位置如何限定?
 
1、激活之后,可以通过OleContainer1的OleObject操纵word;
2、隐藏所有的菜单和工具栏之后,OleContainer1里的对象就是固定在OleContainer1那个
区域中,随窗口移动。但是哪些工具条需要隐藏呢?保险的做法是所有的都隐藏:
OleContainer1.DoVerb(0);//激活
OleContainer1.OleObject.CommandBars['Standard'].Visible := false;
OleContainer1.OleObject.CommandBars['Formatting'].Visible:= false;
OleContainer1.OleObject.CommandBars['Menu Bar'].Enabled := false;
OleContainer1.OleObject.CommandBars['Drawing'].Visible:=False;
//以上4个是经常出现在word里的,因此一定要隐藏,下面的也许不必,但有也无妨。
OleContainer1.OleObject.CommandBars['Standard'].Visible:=False;
OleContainer1.OleObject.CommandBars['Formatting'].Visible:=False;
OleContainer1.OleObject.CommandBars['Database'].Visible:=False;
OleContainer1.OleObject.CommandBars['Web'].Visible:=False;
OleContainer1.OleObject.CommandBars['Visual Basic'].Visible:=False;
OleContainer1.OleObject.CommandBars['Tables and Borders'].Visible:=False;

OleContainer1.OleObject.CommandBars['Web Tools'].Visible:=False;
OleContainer1.OleObject.CommandBars['Forms'].Visible:=False;
OleContainer1.OleObject.CommandBars['Control Toolbox'].Visible:=False;
OleContainer1.OleObject.CommandBars['Frames'].Visible:=False;
OleContainer1.OleObject.CommandBars['Picture'].Visible:=False;
3、如果用OleContainer1打开一个word文件,那么如上设置后,位置也是固定的,且不占其它位置。
 
yeskert1,先谢谢了。
 
但是仍然有问题,我的窗口上有两个PANEL,中间用spliter分割,用以上的方法和原来的一样,WORD窗口将另外的PANEL(文档显示列表的)一并掩盖了。
 
将OleContainer放在一个Frame中,在将Frames放在Panel上是可以解决一部分问题的,只是这样一来,窗口上的两个Panel哪个也不能将Align属性设置成Client,否则还是不行。不知道是为什么,还有没有其他更好的办法。
 
怎样将WORD的菜单也隐藏起来。
 
后退
顶部