Microsoft: Help with OLE documents...

V

VBen

Hi all.
I have an application to draw and design different documents, that supports
linking and embedding of other documents (like, for instance, Corel Draw or
Word). Then, the user can print their designs "WYSIWYG", so I load the
external document inside an OLE document container control (VB6), get a
handle to the object and invoke OleDraw with the hDC that I want the object
in.
This have been working excellent, and this application is largely
distributed among our clients.
The problem is we want to migrate to .NET (any language, VB, C#, C++, ...),
but there's no OLE container that lets me obtain a handle to an OLE
document.
I know you could import COM and ActiveX, but this particular control
(included in VB6) CANNOT BE IMPORTED NOR INSERTED in .Net.
Microsoft calls this a "migration issue" and warns us about it, but how,
then, can I draw an Ole document inside our application (let alone open,
edit, update, etc)?
Is Microsoft planning to update this component for VS.Net 2005? Or is there
an alternative?
I know I could load an OLE document "the hard way", but those are methods so
obscure, I get lost before even starting to insert the document in a
container... If this is the only solution, is there an easy (as easy as this
can be) example that can lead me to accomplish the insertion of a document
inside mine?
I know it can be done, because RTF editor lets you do it. It even lets you
open and edit the document, and "paste special", but I don't seem to
accomplish getting a handle to any of those inserted objects...
Thank you for your time,
VBen.
 
P

Paul Clement

¤ Hi all.
¤ I have an application to draw and design different documents, that supports
¤ linking and embedding of other documents (like, for instance, Corel Draw or
¤ Word). Then, the user can print their designs "WYSIWYG", so I load the
¤ external document inside an OLE document container control (VB6), get a
¤ handle to the object and invoke OleDraw with the hDC that I want the object
¤ in.
¤ This have been working excellent, and this application is largely
¤ distributed among our clients.
¤ The problem is we want to migrate to .NET (any language, VB, C#, C++, ...),
¤ but there's no OLE container that lets me obtain a handle to an OLE
¤ document.
¤ I know you could import COM and ActiveX, but this particular control
¤ (included in VB6) CANNOT BE IMPORTED NOR INSERTED in .Net.
¤ Microsoft calls this a "migration issue" and warns us about it, but how,
¤ then, can I draw an Ole document inside our application (let alone open,
¤ edit, update, etc)?
¤ Is Microsoft planning to update this component for VS.Net 2005? Or is there
¤ an alternative?
¤ I know I could load an OLE document "the hard way", but those are methods so
¤ obscure, I get lost before even starting to insert the document in a
¤ container... If this is the only solution, is there an easy (as easy as this
¤ can be) example that can lead me to accomplish the insertion of a document
¤ inside mine?
¤ I know it can be done, because RTF editor lets you do it. It even lets you
¤ open and edit the document, and "paste special", but I don't seem to
¤ accomplish getting a handle to any of those inserted objects...
¤ Thank you for your time,
¤ VBen.
¤

I'm not sure whether this will help you but it's the closest support there is for an OLE container
control in .NET:

Visual C++ ActiveX Control for hosting Office documents in Visual Basic or HTML
http://support.microsoft.com/default.aspx?scid=kb;en-us;311765

You can also use the Web Browser control but I don't believe that would give you the functionality
you need.

I'm not aware of any consideration for support of an OLE container control in Visual Basic 2005.


Paul ~~~ (e-mail address removed)
Microsoft MVP (Visual Basic)
 
V

VBen

Thank you!
I'll try it today... Apparently you can open documents by ProgID, so it
should be able to open other types of documents...
I'll let you know if this solved my problem.
VBen.

 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top