Forum
Please
Log In
to post a new message or reply to an existing one. If you are not registered, please
register.
NOTE: Some forums may be read-only if you are not currently subscribed to
our technical support services.
Subject |
Author |
Date |
|
Thomas Maurer
|
Oct 2, 2007 - 11:56 PM
|
Hello
IMPORTANT: I am still using V2.54 because of "never change a winning horse" philosophy. If upgrading might solve my problem I will gladly upgrade but I am afraid upgrading will not do.
I have an application using Prof-UIS heavily. This application should now be made an Internet Explorer plugin, kind of in the same way Acrobat Reader is a stand-alone software as well as a plugin in IE.
So I have made my application an OLE server. Porting went fine so far until I came across the following problem: In my non-OLE scenario I create my own instance of a class derived from CExtDynTabControlBar by using the message CExtControlBar::g_nMsgCreateTabbedBar.
In my OLE scenario this does not work because the frame window is created by the MFC framework and so I can not receive above message. I do get my hands on the class when the following virtual method is called for my in-place frame:
CFrameInPlace::OnCreateControlBars(CFrameWnd* pWndFrame, CFrameWnd* pWndDoc)
It is this method where I create and dock the toolbars as childs of pWndFrame. I tried subclassing pWndFrame but this is not allowed because pWndFrame is a window of the IE process.
So I think receiving CExtControlBar::g_nMsgCreateTabbedBar is out of the question here.
What alternatives do I have? Do I have to create my own frame window somehow within the IE frame window so that I have more control about the frame containing the bars?
Thank you in advance
Thomas
|
|
Thomas Maurer
|
Oct 11, 2007 - 9:31 AM
|
Thanks for your reply. I now have introduced a CFrameWnd just for the purpose of being a host of toolbars in "my" process vs. Internet Explorer process. And it works.
|
|
Technical Support
|
Oct 3, 2007 - 12:59 PM
|
To create your own frame window would be the best solution in this case. The frame class could be a popup frame window when running as a standalone application. It would be a child of OLE in-place frame when embedded into IE. The CFrameWnd windows can be both popup and child.
|
|