Help and Support
 

powered byLive Search

How To Show Container's Toolbar During Inplace Activation

Article ID:148860
Last Review:November 21, 2006
Revision:2.2
This article was previously published under Q148860
NOTE: Microsoft Visual C++ .NET (2002) supports both the managed code model that is provided by the .NET Framework and the unmanaged native Windows code model. Part or all of the information in this article applies to managed Visual C++ code and may be applied only by using the .NET Framework.

SUMMARY

This article illustrates how to make an OLE Container's toolbar visible when the user is editing an inplace active object. The technique makes both the container and the server toolbars visible during inplace editing.

MORE INFORMATION

During inplace activation, MFC shows and hides control bars that have the CBRS_HIDE_INPLACE style used in the COleClientItem::OnShowControlBars() function, which can be found in the MFC source code (Olecli2.cpp).

MFC automatically adds the CBRS_HIDE_INPLACE style to toolbars that are created with the ID AFX_IDW_TOOLBAR, which is the default value for the toolbar created by AppWizard in the MainFrame window (m_wndToolBar). You can see this in the CToolBar::Create() function in the MFC source code (Bartool.cpp). To remove the CBRS_HIDE_INPLACE style from m_wndToolBar, add the following line of code to the CMainFrame::OnCreate function after m_wndToolBar is created:
   m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle()
                            ^ CBRS_HIDE_INPLACE);
				
The SetBarStyle() call removes the CBRS_HIDE_INPLACE style by performing a bitwise XOR operation with the existing style for the toolbar.

NOTE: The resulting behavior depends on the server's implementation. For example, Word 6.0 always puts its toolbar at position (0,0). In this case, Word's toolbar will be placed in front of the container's toolbar. Most servers place their toolbar beneath the container's toolbar as expected.

APPLIES TO
Microsoft Foundation Class Library 4.2, when used with:
  Microsoft Visual C++ 2.0 Professional Edition
  Microsoft Visual C++ 2.1
  Microsoft Visual C++ 2.2
  Microsoft Visual C++ 4.0 Standard Edition
  Microsoft Visual C++ 4.1 Subscription
  Microsoft Visual C++ 5.0 Enterprise Edition
  Microsoft Visual C++ 6.0 Enterprise Edition
  Microsoft Visual C++ 5.0 Professional Edition
  Microsoft Visual C++ 6.0 Professional Edition
  Microsoft Visual C++, 32-bit Learning Edition 6.0
  Microsoft Visual C++ .NET 2002 Standard Edition
Microsoft Visual C++ .NET 2003 Standard Edition

Back to the top

Keywords: 
kbhowto kbinplaceact kbtoolbar kbuidesign kbcontainer kbmfcctrlbar KB148860

Article Translations

 

Related Support Centers

Other Support Options

  • Need More Help?
    Contact a Support professional by E-mail, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.