You can host multiple office component in a form or you can open multiple office instance in your internet explore with Edraw Office Viewer Component version 7.
For the
previous version, The component won't
work for the IE8 and the Office 2007.
The toolbars will be uneditable if you
put the component in IE8. Then open
multiple instances from different IE
table. The other office instance can't
be edited except for the last opened
office instance. If you launch a word or
excel program from the destop, the error
will occur too. All the Excel documents
opened by DsoFramer share only one Excel
process. The result is when the second
Excel document opened by the DsoFramer,
the first document is uneditable.
Note: you need set the Frame hook policy
as SetOnFirstOpen and Component
activation policy as
KeepUIActiveOnAppDeactive.
Frame hook policy
To correctly handle activation when the
host gains or loses foreground status,
the ActiveX control uses a frame hook.
By default, the hook is set when the
control is created. In some situations,
especially when the control is used from
a multi-threaded UI host or when the
control is nested in a container control
like a Tab page in a .NET WinForm
application, the parent of the control
at create time may not be the correct
window for the control to hook when it
is running. In these situations, you can
use the FrameHookPolicy property to
reset the hook at a more suitable time.
For example, if you build a .NET WinForm
solution, set the FrameHookPolicy
property to SetOnFirstOpen in the
Properties window.
Component activation policy
The sample control can support more than one instance of itself in a given host application. However, only one control can be active at a given time. This is a requirement of ActiveX Document hosting. To handle multiple instances in a single host, the control registers itself with a component manager. This lets the component manager keep track of the active control. Use the ActivationPolicy property to control how the embedded object is handled during component changes. The ActivationPolicy property can be set to one or more of the bit flags that are defined by the ActivationPolicy enumeration.
You need
set it as follow:
param name=”ActivationPolicy” value=”1″
param name=”FrameHookPolicy” value=”1″
Or in your
custom user control, set the following
properties of the office viewer
component: Activationpolicy=4,
FrameHookPolicy=1.
But this leads to another problem: the
inner office application is reloaded
every time the control is activated. So
if you can hide some of the toolbar
buttons, you have to use the code in the
activation blocks instead of the control
initialize statement.
