Bitmaps in OLE Containers

Well, I have been struggling with MSPaint and OleContainers, but it
seems Microsoft has made this the most complicated thing I've seen so
far (Congratulations, Ole!).  And Borland(Inprise) has not been able
to help this as much as they have helped with other subjects.

I am now able to initialize the OleContainer from a bmp-file with

OleContainer1.CreateObjectFromFile(FullPathToABmpFile, IsIconic);
// Yep, relative path names will not work.

But I am not able to get the bitmap back from the container, once the
user has finished editing it.  It is now an OleObject, which cannot be
seen in the ClipBoard nor anywhere else as a bitmap.

This CreateObjectFromFile is, by the way, the only way to put the
bitmap to the container.  LoadFromFile will not accept bitmaps any
more, it yearns for an OleObject.

There is a mysterious CreateObjectFromInfo, which is a real MS-mess.
This could be used to create from bitmap (and actually is by the
CreateFromFile), but I have ot been willing to dive onto this, yet.
Perhaps a similar mess is required to get the bitmap back from the
OleContainer.

There is another possibility: to use

OleContainer1.CreateLinkToFile(FullPathToABmpFile, IsIconic);

Which leaves the bitmap to the file after the user has stopped
editing.  But how am I suppose to notice this has happened?

There seem to be a couple of others that are struggling with this same
problem.  I hope we can solve this together with the real wizards in
these newsgroups.

Or should we make a better bitmap-editor than MSPaint, for Delphi
only?  Why isn't there any?  Are there any satisfied MSPaint-users
around?

To be continued...

Jouni Aro
Prosys PMS Oy