COleIPFrameWndEx Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at COleIPFrameWndEx Class.
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
Protected Methods
| Name | Description |
|---|---|
| COleIPFrameWndEx::InitUserToobars | Tells 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); }
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.