COleIPFrameWndEx Class

 

For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

The COleIPFrameWndEx class implements an OLE container that supports MFC. You must derive the in-place frame window class for your application from the COleIPFrameWndEx class, instead of deriving it from the COleIPFrameWndclass.

class COleIPFrameWndEx : public COleIPFrameWnd  

Public Methods

NameDescription
COleIPFrameWndEx::AddDockSite
COleIPFrameWndEx::AddPane
COleIPFrameWndEx::AdjustDockingLayout
COleIPFrameWndEx::DockPane
COleIPFrameWndEx::DockPaneLeftOfDocks one pane to the left of another pane.
COleIPFrameWndEx::EnableAutoHidePanes
COleIPFrameWndEx::EnableDocking
COleIPFrameWndEx::EnablePaneMenu
COleIPFrameWndEx::GetActivePopupReturns a pointer to the currently displayed popup menu.
COleIPFrameWndEx::GetContainerFrameWindow
COleIPFrameWndEx::GetDefaultResIdReturns the resource ID of the frame window that you specified when the window was loaded.
COleIPFrameWndEx::GetDockFrame
COleIPFrameWndEx::GetDockingManager
COleIPFrameWndEx::GetMainFrame
COleIPFrameWndEx::GetMenuBarReturns a pointer to the menu bar object attached to the frame window.
COleIPFrameWndEx::GetPane
COleIPFrameWndEx::GetTearOffBarsReturns a list of pane objects that are in a tear-off state.
COleIPFrameWndEx::GetToolbarButtonToolTipTextCalled by the framework before the tooltip for a button is displayed.
COleIPFrameWndEx::InsertPane
COleIPFrameWndEx::IsMenuBarAvailableDetermines whether the pointer to the menu bar object is not NULL.
COleIPFrameWndEx::IsPointNearDockSite
COleIPFrameWndEx::LoadFrame(Overrides COleIPFrameWnd::LoadFrame.)
COleIPFrameWndEx::OnCloseDockingPane
COleIPFrameWndEx::OnCloseMiniFrame
COleIPFrameWndEx::OnClosePopupMenuCalled by the framework when an active pop-up menu processes a WM_DESTROY message.
COleIPFrameWndEx::OnCmdMsg(Overrides CFrameWnd::OnCmdMsg.)
COleIPFrameWndEx::OnDrawMenuImageCalled by the framework when the image associated with a menu item is drawn.
COleIPFrameWndEx::OnDrawMenuLogoCalled by the framework when a CMFCPopupMenuobject processes a WM_PAINT message.
COleIPFrameWndEx::OnMenuButtonToolHitTestCalled by the framework when a CMFCToolBarButtonobject processes WM_NCHITTEST message.
COleIPFrameWndEx::OnMoveMiniFrame
COleIPFrameWndEx::OnSetPreviewModeCall this member function to set the application's main frame window into and out of print-preview mode. (Overrides CFrameWnd::OnSetPreviewMode.)
COleIPFrameWndEx::OnShowCustomizePane
COleIPFrameWndEx::OnShowPanes
COleIPFrameWndEx::OnShowPopupMenuCalled by the framework when a pop-up menu is activated.
COleIPFrameWndEx::OnTearOffMenuCalled by the framework when a menu that has a tear-off bar is activated.
COleIPFrameWndEx::PaneFromPoint
COleIPFrameWndEx::PreTranslateMessage(Overrides COleIPFrameWnd::PreTranslateMessage.)
COleIPFrameWndEx::RecalcLayout(Overrides COleIPFrameWnd::RecalcLayout.)
COleIPFrameWndEx::RemovePaneFromDockManager
COleIPFrameWndEx::SetDockStateApplies the specified docking state to the panes that belong to the frame window.
COleIPFrameWndEx::SetupToolbarMenuModifies a toolbar object by searching for dummy items and replacing them with the specified user-defined items.
COleIPFrameWndEx::ShowPane
COleIPFrameWndEx::WinHelpACalled by the framework to initiate the WinHelp application or context help.

Protected Methods

NameDescription
COleIPFrameWndEx::InitUserToobarsTells the framework to initialize a range of control IDs that are assigned to user-defined toolbars.

The following example demonstrates how to subclass an instance of the COleIPFrameWndEx class and over ride its methods. The example shows how to over ride the OnDestory method, the RepositionFrame method, the RecalcLayout method, and the CalcWindowRect method. This code snippet is part of the Word Pad sample.

void CInPlaceFrame::OnDestroy()
{
	m_wndToolBar.DestroyWindow();
	m_wndFormatBar.DestroyWindow();
	COleIPFrameWndEx::OnDestroy();
}

void CInPlaceFrame::RepositionFrame(LPCRECT lpPosRect, LPCRECT lpClipRect)
{
	CRect rectNew = lpPosRect;
	rectNew.left -= HORZ_TEXTOFFSET;
	rectNew.top -= VERT_TEXTOFFSET;
	m_wndResizeBar.BringWindowToTop();
	COleIPFrameWndEx::RepositionFrame(&rectNew, lpClipRect);
	CWnd* pWnd = GetActiveView();
	if (pWnd != NULL)
		pWnd->BringWindowToTop();
	m_wndRulerBar.BringWindowToTop();
}

void CInPlaceFrame::RecalcLayout(BOOL bNotify)
{
	if (m_wndResizeBar.m_hWnd != NULL)
		m_wndResizeBar.BringWindowToTop();
	COleIPFrameWndEx::RecalcLayout(bNotify);
	CWnd* pWnd = GetActiveView();
	if (pWnd != NULL)
		pWnd->BringWindowToTop();
	if (m_wndRulerBar.m_hWnd != NULL)
		m_wndRulerBar.BringWindowToTop();

	// at least 12 pt region plus ruler if it exists
	CDisplayIC dc;
	CSize size;
	size.cy = MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72)+1;
	size.cx = dc.GetDeviceCaps(LOGPIXELSX)/4; // 1/4"
	size.cx += HORZ_TEXTOFFSET; //adjust for offset
	size.cy += VERT_TEXTOFFSET;
	if (m_wndRulerBar.m_hWnd != NULL && m_wndRulerBar.IsVisible())
	{
		CRect rect;
		m_wndRulerBar.GetWindowRect(&rect);
		size.cy += rect.Height();
	}
	m_wndResizeBar.SetMinSize(size);
}

void CInPlaceFrame::CalcWindowRect(LPRECT lpClientRect, UINT nAdjustType)
{
	COleIPFrameWndEx::CalcWindowRect(lpClientRect, nAdjustType);
}

CObject

CCmdTarget

CWnd

CFrameWnd

COleIPFrameWnd

COleIPFrameWndEx

Header: afxoleipframewndex.h

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

void AddDockSite();

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

BOOL AddPane(
    CBasePane* pControlBar,  
    BOOL bTail=TRUE);

Parameters

[in] pControlBar
[in] bTail

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual void AdjustDockingLayout(HDWP hdwp=NULL);

Parameters

[in] hdwp

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

void DockPane(
    CBasePane* pBar,  
    UINT nDockBarID = 0,  
    LPCRECT lpRect = NULL);

Parameters

[in] pBar
[in] nDockBarID
[in] lpRect

Remarks

Docks one pane to the left of another pane.

BOOL DockPaneLeftOf(
    CPane* pBar,  
    CPane* pLeftOf);

Parameters

[in] pBar
A pointer to the pane to dock.

[in] pLeftOf
A pointer to the pane that serves as origin.

Return Value

Returns TRUE if the operation is successful. Otherwise returns FALSE.

Remarks

Call this method to dock several pane objects in a predefined order. This method docks the pane specified by pBar to the left of the pane specified by pLeftOf.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

BOOL EnableAutoHidePanes(DWORD dwDockStyle);

Parameters

[in] dwDockStyle

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

BOOL EnableDocking(DWORD dwDockStyle);

Parameters

[in] dwDockStyle

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

void EnablePaneMenu(
    BOOL bEnable,  
    UINT uiCustomizeCmd,  
    const CString& strCustomizeLabel,  
    UINT uiViewToolbarsMenuEntryID,  
    BOOL bContextMenuShowsToolbarsOnly=FALSE,  
    BOOL bViewMenuShowsToolbarsOnly=FALSE);

Parameters

[in] bEnable
[in] uiCustomizeCmd
[in] strCustomizeLabel
[in] uiViewToolbarsMenuEntryID
[in] bContextMenuShowsToolbarsOnly
[in] bViewMenuShowsToolbarsOnly

Remarks

Returns a pointer to the currently displayed pop-up menu.

CMFCPopupMenu* GetActivePopup() const;  

Return Value

A pointer to the active pop-up menu; otherwise NULL.

Remarks

Use this method to obtain a pointer to the CMFCPopupMenu Class object that is currently displayed.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

COleCntrFrameWndEx* GetContainerFrameWindow();

Return Value

Remarks

Returns the menu resource ID that was specified when the frame window loaded the menu.

UINT GetDefaultResId() const;  

Return Value

Returns the resource ID of the menu, or 0 if the frame window has no menu bar.

Remarks

Call this function to retrieve the resource ID that was specified when the frame window loaded the menu resource by calling COleIPFrameWndEx::LoadFrame.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

CFrameWnd* GetDockFrame();

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

CDockingManager* GetDockingManager();

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

CFrameWnd* GetMainFrame();

Return Value

Remarks

Returns a pointer to the menu bar object attached to the frame window.

const CMFCMenuBar* GetMenuBar() const;  

Return Value

A pointer to the menu bar object.

Remarks

Use this function to retrieve a pointer to the menu bar object that belongs to the COleIPFrameWndEx object.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

CBasePane* GetPane(UINT nID);

Parameters

[in] nID

Return Value

Remarks

Returns a list of pane objects that are in a tear-off state.

const CObList& GetTearOffBars() const;  

Return Value

A reference to a CObList object that contains a collection of pointers to the CBasePane Class-derived objects.

Remarks

The COleIPFrameWndEx object maintains the collection of tear-off menus as a list of CBasePane Class-derived objects. Use this method to retrieve a reference to this list.

Called by the framework before the tooltip for a button is displayed.

virtual BOOL GetToolbarButtonToolTipText(
    CMFCToolBarButton* pButton,  
    CString& strTTText);

Parameters

[in] pButton
Pointer to the button.

[in] strTTText
Pointer to the tooltip text.

Return Value

The default implementation returns 0.

Remarks

Override this function to customize the display of tooltips on toolbar buttons.

Specifies a range of control IDs that the framework assigns to the user-defined toolbars.

void InitUserToolbars(
    LPCTSTR lpszRegEntry,   
    UINT uiUserToolbarFirst,   
    UINT uiUserToolbarLast)  

Parameters

[in] lpszRegEntry
The registry entry where the library stores user toolbar settings.

[in] uiUserToolbarFirst
Control ID assigned to the first user-defined toolbar.

[in] uiUserToolbarLast
Control ID assigned to the last user-defined toolbar.

Remarks

Use this function to initialize a range of control IDs for assignment to toolbars that users define dynamically. The parameters uiUserToolbarFirst and uiUserToolbarLast define a range of allowed toolbar control IDs. To disable the creation of user-defined toolbars, set uiUserToolbarFirst or uiUserToolbarLast to -1.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

BOOL InsertPane(
    CBasePane* pControlBar,  
    CBasePane* pTarget,  
    BOOL bAfter = TRUE);

Parameters

[in] pControlBar
[in] pTarget
[in] bAfter

Return Value

Remarks

Determines whether the pointer to the menu bar object is not NULL

BOOL IsMenuBarAvailable() const;  

Return Value

Returns a non-zero value if the frame window has a menu bar; otherwise returns 0.

Remarks

Call this method to determine whether the frame window maintains a non- NULL pointer to its menu bar object.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

BOOL IsPointNearDockSite(
    CPoint point,  
    DWORD& dwBarAlignment,  
    BOOL& bOuterEdge) const;  

Parameters

[in] point
[in] dwBarAlignment
[in] bOuterEdge

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL LoadFrame(
    UINT nIDResource,  
    DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,  
    CWnd* pParentWnd = NULL,  
    CCreateContext* pContext = NULL);

Parameters

[in] nIDResource
[in] dwDefaultStyle
[in] pParentWnd
[in] pContext

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL OnCloseDockingPane(CDockablePane*);

Parameters

[in] CDockablePane*

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);

Parameters

[in] CPaneFrameWnd*

Return Value

Remarks

Called by the framework when an active pop-up menu processes a WM_DESTROY message.

virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);

Parameters

[in] pMenuPopup
A pointer to the pop-up menu object.

Remarks

Override this method to receive notifications from CMFCPopupMenu objects when they process WM_DESTROY messages.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL OnCmdMsg(
    UINT nID,  
    int nCode,  
    void* pExtra,  
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parameters

[in] nID
[in] nCode
[in] pExtra
[in] pHandlerInfo

Return Value

Remarks

Called by the framework when the image that is associated with a menu item is drawn.

virtual BOOL OnDrawMenuImage(
    CDC* pDC,  
    const CMFCToolBarMenuButton* pMenuButton,  
    const CRect& rectImage);

Parameters

[in] pDC
Pointer to the device context.

[in] pMenuButton
Pointer to the menu button.

[in] rectImage
The image associated with the menu item.

Return Value

The default implementation does nothing and returns 0.

Remarks

Override this method if you want to customize image drawing for the menu items that belong to the menu bar owned by the COleIPFrameWndEx-derived object.

Called by the framework when a CMFCPopupMenuobject processes a WM_PAINT message.

virtual void OnDrawMenuLogo(
    CDC* pDC,  
    CMFCPopupMenu* pMenu,  
    const CRect& rectLogo);

Parameters

[in] pDC
Pointer to the device context.

[in] pMenu
Pointer to the pop-up menu object.

[in] rectLogo
Pointer to the logo to display.

Remarks

Override this method to display a logo on the pop-up menu associated with the menu bar owned by the COleIPFrameWndEx-derived object. The default implementation does nothing.

Called by the framework when a CMFCToolBarButtonobject processes a WM_NCHITTEST message.

virtual BOOL OnMenuButtonToolHitTest(
    CMFCToolBarButton* pButton,  
    TOOLINFO* pTI);

Parameters

[in] pButton
Pointer to a menu button.

[out] pTI
Pointer to a TOOLINFO structure.

Return Value

The default implementation does nothing and returns 0. Your implementation should return a non-zero value if it fills the pTI parameter.

Remarks

Override this method to provide ToolTip information about a specific menu item.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Parameters

[in] pFrame

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual void OnSetPreviewMode(
    BOOL bPreview,  
    CPrintPreviewState* pState);

Parameters

[in] bPreview
[in] pState

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL OnShowCustomizePane(
    CMFCPopupMenu* pMenuPane,  
    UINT uiToolbarID);

Parameters

[in] pMenuPane
[in] uiToolbarID

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL OnShowPanes(BOOL bShow);

Parameters

[in] bShow

Return Value

Remarks

Called by the framework when a pop-up menu is displayed.

virtual BOOL OnShowPopupMenu(CMFCPopupMenu* pMenuPopup);

Parameters

[in] pMenuPopup
Pointer to the pop-up menu to be displayed.

Return Value

The default implementation does nothing and returns a non-zero value. Your implementation should return FALSE if the pop-up menu cannot be displayed.

Remarks

Override this method to customize the display of a pop-up menu. For example, you could change the menu buttons to color menu buttons or initialize tear-off bars.

Called by the framework when the user selects a menu that has a tear-off bar.

virtual BOOL OnTearOffMenu(
    CMFCPopupMenu* pMenuPopup,  
    CPane* pBar);

Parameters

[in] pMenuPopup
A pointer to the pop-up menu that the user selected.

[in] pBar
A pointer to the pane that hosts the menu.

Return Value

TRUE if you want the framework to activate the pop-up menu; otherwise FALSE. The default value is TRUE.

Remarks

Override this function if you want to customize the setup of the tear-off bar.

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

CBasePane* PaneFromPoint(
    CPoint point,  
    int nSensitivity,  
    bool bExactBar,  
    CRuntimeClass* pRTCBarType) const;  
  
CBasePane* PaneFromPoint(
    CPoint point,  
    int nSensitivity,  
    DWORD& dwAlignment,  
    CRuntimeClass* pRTCBarType) const;  

Parameters

[in] point
[in] nSensitivity
[in] bExactBar
[in] pRTCBarType
[in] dwAlignment

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parameters

[in] pMsg

Return Value

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parameters

[in] bNotify

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

void RemovePaneFromDockManager(
    CBasePane* pControlBar,  
    BOOL bDestroy,  
    BOOL bAdjustLayout,  
    BOOL bAutoHide,  
    CBasePane* pBarReplacement);

Parameters

[in] pControlBar
[in] bDestroy
[in] bAdjustLayout
[in] bAutoHide
[in] pBarReplacement

Remarks

Applies the specified docking state to panes that belong to the frame window.

void SetDockState(const CDockState& state);

Parameters

[in] state
Specifies the docking state.

Remarks

Use this function to specify a new docking state for panes that belong to the COleIPFrameWndEx object.

Modifies a toolbar object by searching for dummy items and replacing them with the specified user-defined items.

void SetupToolbarMenu(
    CMenu& menu,  
    const UINT uiViewUserToolbarCmdFirst,  
    const UINT uiViewUserToolbarCmdLast);

Parameters

[in] menu
A reference to a CMenu object to be modified.

[in] uiViewUserToolbarCmdFirst
Specifies the first user-defined command.

[in] uiViewUserToolbarCmdLast
Specifies the last user-defined command.

Remarks

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

void ShowPane(
    CBasePane* pBar,  
    BOOL bShow,  
    BOOL bDelay,  
    BOOL bActivate);

Parameters

[in] pBar
[in] bShow
[in] bDelay
[in] bActivate

Remarks

Called by the framework to initiate the WinHelp application or context help.

virtual void WinHelp(
    DWORD dwData,  
    UINT nCmd = HELP_CONTEXT);

Parameters

[in] dwData
Specifies data as required for the type of help specified by nCmd.

[in] nCmd
Specifies the type of help requested. For a list of possible values and how they affect the dwData parameter, see the WinHelp Function in the Windows SDK.

Remarks

Hierarchy Chart
Classes
CFrameWndEx Class
CMDIFrameWndEx Class

Show: