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.
Syntax
class COleIPFrameWndEx : public COleIPFrameWnd
Members
Public Methods
Name | Description |
---|---|
COleIPFrameWndEx::AddDockSite | |
COleIPFrameWndEx::AddPane | |
COleIPFrameWndEx::AdjustDockingLayout | |
COleIPFrameWndEx::DockPane | |
COleIPFrameWndEx::DockPaneLeftOf | Docks one pane to the left of another pane. |
COleIPFrameWndEx::EnableAutoHidePanes | |
COleIPFrameWndEx::EnableDocking | |
COleIPFrameWndEx::EnablePaneMenu | |
COleIPFrameWndEx::GetActivePopup | Returns a pointer to the currently displayed popup menu. |
COleIPFrameWndEx::GetContainerFrameWindow | |
COleIPFrameWndEx::GetDefaultResId | Returns the resource ID of the frame window that you specified when the window was loaded. |
COleIPFrameWndEx::GetDockFrame | |
COleIPFrameWndEx::GetDockingManager | |
COleIPFrameWndEx::GetMainFrame | |
COleIPFrameWndEx::GetMenuBar | Returns a pointer to the menu bar object attached to the frame window. |
COleIPFrameWndEx::GetPane | |
COleIPFrameWndEx::GetTearOffBars | Returns a list of pane objects that are in a tear-off state. |
COleIPFrameWndEx::GetToolbarButtonToolTipText | Called by the framework before the tooltip for a button is displayed. |
COleIPFrameWndEx::InsertPane | |
COleIPFrameWndEx::IsMenuBarAvailable | Determines whether the pointer to the menu bar object is not NULL . |
COleIPFrameWndEx::IsPointNearDockSite | |
COleIPFrameWndEx::LoadFrame | (Overrides COleIPFrameWnd::LoadFrame .) |
COleIPFrameWndEx::OnCloseDockingPane | |
COleIPFrameWndEx::OnCloseMiniFrame | |
COleIPFrameWndEx::OnClosePopupMenu | Called by the framework when an active pop-up menu processes a WM_DESTROY message. |
COleIPFrameWndEx::OnCmdMsg | (Overrides CFrameWnd::OnCmdMsg .) |
COleIPFrameWndEx::OnDrawMenuImage | Called by the framework when the image associated with a menu item is drawn. |
COleIPFrameWndEx::OnDrawMenuLogo | Called by the framework when a CMFCPopupMenuobject processes a WM_PAINT message. |
COleIPFrameWndEx::OnMenuButtonToolHitTest | Called by the framework when a CMFCToolBarButtonobject processes WM_NCHITTEST message. |
COleIPFrameWndEx::OnMoveMiniFrame | |
COleIPFrameWndEx::OnSetPreviewMode | Call 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::OnShowPopupMenu | Called by the framework when a pop-up menu is activated. |
COleIPFrameWndEx::OnTearOffMenu | Called 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::SetDockState | Applies the specified docking state to the panes that belong to the frame window. |
COleIPFrameWndEx::SetupToolbarMenu | Modifies a toolbar object by searching for dummy items and replacing them with the specified user-defined items. |
COleIPFrameWndEx::ShowPane | |
COleIPFrameWndEx::WinHelpA | Called by the framework to initiate the WinHelp application or context help. |
Protected Methods
Name | Description |
---|---|
COleIPFrameWndEx::InitUserToobars | Tells the framework to initialize a range of control IDs that are assigned to user-defined toolbars. |
Example
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);
}
Inheritance Hierarchy
Requirements
Header: afxoleipframewndex.h
COleIPFrameWndEx::AddDockSite
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
COleIPFrameWndEx::AddPane
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
COleIPFrameWndEx::AdjustDockingLayout
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
COleIPFrameWndEx::DockPane
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
COleIPFrameWndEx::DockPaneLeftOf
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
.
COleIPFrameWndEx::EnableAutoHidePanes
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
COleIPFrameWndEx::EnableDocking
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
COleIPFrameWndEx::EnablePaneMenu
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
COleIPFrameWndEx::GetActivePopup
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.
COleIPFrameWndEx::GetContainerFrameWindow
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
COleIPFrameWndEx::GetDefaultResId
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
.
COleIPFrameWndEx::GetDockFrame
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
COleIPFrameWndEx::GetDockingManager
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
COleIPFrameWndEx::GetMainFrame
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
COleIPFrameWndEx::GetMenuBar
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.
COleIPFrameWndEx::GetPane
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
COleIPFrameWndEx::GetTearOffBars
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.
COleIPFrameWndEx::GetToolbarButtonToolTipText
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.
COleIPFrameWndEx::InitUserToobars
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.
COleIPFrameWndEx::InsertPane
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
COleIPFrameWndEx::IsMenuBarAvailable
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.
COleIPFrameWndEx::IsPointNearDockSite
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
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.
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
COleIPFrameWndEx::OnCloseDockingPane
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
COleIPFrameWndEx::OnCloseMiniFrame
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
COleIPFrameWndEx::OnClosePopupMenu
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.
COleIPFrameWndEx::OnCmdMsg
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
COleIPFrameWndEx::OnDrawMenuImage
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.
COleIPFrameWndEx::OnDrawMenuLogo
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.
COleIPFrameWndEx::OnMenuButtonToolHitTest
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.
COleIPFrameWndEx::OnMoveMiniFrame
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
COleIPFrameWndEx::OnSetPreviewMode
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
COleIPFrameWndEx::OnShowCustomizePane
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
COleIPFrameWndEx::OnShowPanes
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
COleIPFrameWndEx::OnShowPopupMenu
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.
COleIPFrameWndEx::OnTearOffMenu
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.
COleIPFrameWndEx::PaneFromPoint
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
COleIPFrameWndEx::PreTranslateMessage
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
COleIPFrameWndEx::RecalcLayout
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
COleIPFrameWndEx::RemovePaneFromDockManager
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
COleIPFrameWndEx::SetDockState
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.
COleIPFrameWndEx::SetupToolbarMenu
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
COleIPFrameWndEx::ShowPane
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
COleIPFrameWndEx::WinHelpA
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
See Also
Hierarchy Chart
Classes
CFrameWndEx Class
CMDIFrameWndEx Class