OleContainer控件问题2个,请高手作答,300分。(300分)

  • 主题发起人 主题发起人 杨深
  • 开始时间 开始时间

杨深

Unregistered / Unconfirmed
GUEST, unregistred user!
1,能不能让OLE激活word时时不出现工具条及菜单?
我用
OleContainer1.perform(CM_UIDEACTIVATE,0,0);
的笨办法可以实现。但还是要闪一下,我试图改OleCtnrs原代码没有成功,请各位指点。
2,这个问题很要命,我想word在Ole中激活时要浏览很多文件,不想一再激活花时间,
想直接打开另外一个文件,但是word的文档还是什么的。不行出错。
WordDocument1.ConnectTo(IUnknown(OleContainer1.OleObject) as _Document);
WordDocument1.Application.Documents.Open(FileName, ConfirmConversions, ReadOnly,
AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert,WritePasswordDocument,
WritePasswordTemplate, Format);
WordDocument1.Disconnect ();
不行,关闭后再执行也不行,
WordDocument1.Application.ActiveDocument.Close(SaveControl,SaveFormat,r);

:(
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1435059
 
自己查一下,以前的贴子有这方面的。
 
以前的帖子找不到相同的
都是
TWordApplication的操作,当然可以,

在TOleContainer中是没有的
没法关闭文档再打开一个新的文档
 
在OleContainer中不能不关闭而打开另一个文档。不过也可以用变通方法。
删除原来的内容。插入另一个文件的内容就行了。这样快多了。
 
jiangxiancheng:
这个方法我以前试过,但是一黑(全选)再一闪(insertfromfile)。一般来说不会被发现
但是重做redo(就是用来恢复以前删除的东西)会越来越多,系统可能不会慢,但是
不小心,Ctrl+Z一下,用户*&*&…

如果没有别的办法只好将就了。
 
undo中的东西可能删除,你插入后。删除Undo数据,用户就不会知道了。
 
后退
顶部