共用方式為


COleIPFrameWndEx 類別

COleIPFrameWndEx 類別會實作支援 MFC 的 OLE 容器。 您必須從 COleIPFrameWndEx 類別衍生應用程式的就地框架視窗類別,而不是從 COleIPFrameWnd類別來衍生。 如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。

語法

class COleIPFrameWndEx : public COleIPFrameWnd

成員

公用方法

名稱 描述
COleIPFrameWndEx::AddDockSite
COleIPFrameWndEx::AddPane
COleIPFrameWndEx::AdjustDockingLayout
COleIPFrameWndEx::D ockPane
COleIPFrameWndEx::D ockPaneLeftOf 將窗格停駐在另一個窗格的左邊。
COleIPFrameWndEx::EnableAutoHidePanes
COleIPFrameWndEx::EnableDocking
COleIPFrameWndEx::EnablePaneMenu
COleIPFrameWndEx::GetActivePopup 將指標傳回到目前顯示的快顯功能表。
COleIPFrameWndEx::GetContainerFrameWindow
COleIPFrameWndEx::GetDefaultResId 在載入視窗時傳回您指定的框架視窗資源識別碼。
COleIPFrameWndEx::GetDockFrame
COleIPFrameWndEx::GetDockingManager
COleIPFrameWndEx::GetMainFrame
COleIPFrameWndEx::GetMenuBar 將指標傳回到附加在框架視窗的功能表列物件。
COleIPFrameWndEx::GetPane
COleIPFrameWndEx::GetTearOffBars 傳回分割狀態的窗格物件清單。
COleIPFrameWndEx::GetToolbarButtonToolTipText 架構先呼叫,再顯示工具提示按鈕。
COleIPFrameWndEx::InsertPane
COleIPFrameWndEx::IsMenuBarAvailable 決定功能表列物件的指標是否不是 NULL
COleIPFrameWndEx::IsPointNearDockSite
COleIPFrameWndEx::LoadFrame (覆寫 COleIPFrameWnd::LoadFrame。)
COleIPFrameWndEx::OnCloseDockingPane
COleIPFrameWndEx::OnCloseMiniFrame
COleIPFrameWndEx::OnClosePopupMenu 架構在作用中的快顯功能表處理 WM_DESTROY 訊息時所呼叫。
COleIPFrameWndEx::OnCmdMsg (覆寫 CFrameWnd::OnCmdMsg。)
COleIPFrameWndEx::OnDrawMenuImage 架構在繪製與功能表項目相關聯的映像時所呼叫。
COleIPFrameWndEx::OnDrawMenuLogo 架構在 CMFCPopupMenu物件處理 WM_PAINT 訊息時所呼叫。
COleIPFrameWndEx::OnMenuButtonToolHitTest 架構在 CMFCToolBarButton物件處理 WM_NCHITTEST 訊息時所呼叫。
COleIPFrameWndEx::OnMoveMiniFrame
COleIPFrameWndEx::OnSetPreviewMode 呼叫這個成員函式,在預覽列印模式裡外設定應用程式的主框架視窗。 (覆寫 CFrameWnd::OnSetPreviewMode。)
COleIPFrameWndEx::OnShowCustomizePane
COleIPFrameWndEx::OnShowPanes
COleIPFrameWndEx::OnShowPopupMenu 架構在啟動快顯功能表時所呼叫。
COleIPFrameWndEx::OnTearOffMenu 架構在啟動有分割列的功能表時所呼叫。
COleIPFrameWndEx::P aneFromPoint
COleIPFrameWndEx::P reTranslateMessage (覆寫 COleIPFrameWnd::PreTranslateMessage。)
COleIPFrameWndEx::RecalcLayout (覆寫 COleIPFrameWnd::RecalcLayout。)
COleIPFrameWndEx::RemovePaneFromDockManager
COleIPFrameWndEx::SetDockState 將指定的停駐狀態套用到屬於框架視窗的窗格。
COleIPFrameWndEx::SetupToolbarMenu 藉由搜尋虛設項目並替換成指定的使用者定義項目,修改工具列物件。
COleIPFrameWndEx::ShowPane
COleIPFrameWndEx::WinHelpA 架構所呼叫以起始 WinHelp 應用程式或內容說明。

受保護的方法

名稱 描述
COleIPFrameWndEx::InitUserToobars 告知架構初始化指派給使用者定義工具列的控制項識別碼範圍。

範例

下例示範如何建立 COleIPFrameWndEx 類別的執行個體子類別並覆寫其方法。 此範例示範如何覆寫 OnDestory 方法、 RepositionFrame 方法、 RecalcLayout 方法和 CalcWindowRect 方法。 此程式碼片段是 WordPad 範例的一部分。

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

需求

標頭: afxoleipframewndex.h

COleIPFrameWndEx::AddDockSite

void AddDockSite();

備註

COleIPFrameWndEx::AddPane

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

參數

[in] pControlBar
[in] bTail

傳回值

備註

COleIPFrameWndEx::AdjustDockingLayout

virtual void AdjustDockingLayout(HDWP hdwp = NULL);

參數

[in] hdwp

備註

COleIPFrameWndEx::D ockPane

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

參數

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

備註

COleIPFrameWndEx::D ockPaneLeftOf

將窗格停駐在另一個窗格的左邊。

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

參數

pBar
[in]要停駐之窗格的指標。

pLeftOf
[in]做為來源之窗格的指標。

傳回值

如果作業成功,則傳回TRUE。 否則會傳回 FALSE。

備註

呼叫這個方法,以預先定義的順序停駐數個窗格物件。 這個方法會將 pBar 指定的窗格停駐在 pLeftOf指定的窗格左邊。

COleIPFrameWndEx::EnableAutoHidePanes

BOOL EnableAutoHidePanes(DWORD dwDockStyle);

參數

[in] dwDockStyle

傳回值

備註

COleIPFrameWndEx::EnableDocking

BOOL EnableDocking(DWORD dwDockStyle);

參數

[in] dwDockStyle

傳回值

備註

COleIPFrameWndEx::EnablePaneMenu

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

參數

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

備註

COleIPFrameWndEx::GetActivePopup

傳回目前顯示之快捷功能表的指標。

CMFCPopupMenu* GetActivePopup() const;

傳回值

作用中快捷功能表的指標;否則為 NULL。

備註

使用此方法可取得目前顯示的 CMFCPopupMenu 類別物件的指標

COleIPFrameWndEx::GetContainerFrameWindow

COleCntrFrameWndEx* GetContainerFrameWindow();

傳回值

備註

COleIPFrameWndEx::GetDefaultResId

傳回當框架視窗載入功能表時所指定的功能表資源識別碼。

UINT GetDefaultResId() const;

傳回值

傳回功能表的資源識別碼,如果框架窗口沒有功能表欄,則傳回 0。

備註

呼叫此函式,藉由呼叫 COleIPFrameWndEx::LoadFrame來擷取框架視窗載入功能表資源時所指定的資源標識碼。

COleIPFrameWndEx::GetDockFrame

CFrameWnd* GetDockFrame();

傳回值

備註

COleIPFrameWndEx::GetDockingManager

CDockingManager* GetDockingManager();

傳回值

備註

COleIPFrameWndEx::GetMainFrame

CFrameWnd* GetMainFrame();

傳回值

備註

COleIPFrameWndEx::GetMenuBar

將指標傳回到附加在框架視窗的功能表列物件。

const CMFCMenuBar* GetMenuBar() const;

傳回值

功能表欄物件的指標。

備註

使用此函式來擷取屬於 COleIPFrameWndEx 物件的功能表欄物件的指標。

COleIPFrameWndEx::GetPane

CBasePane* GetPane(UINT nID);

參數

[in] nID

傳回值

備註

COleIPFrameWndEx::GetTearOffBars

傳回分割狀態的窗格物件清單。

const CObList& GetTearOffBars() const;

傳回值

對象的參考CObList,其中包含 CBasePane 類別衍生物件的指標集合。

備註

物件COleIPFrameWndEx會維護卸除功能表的集合,做為 CBasePane 類別衍生物件的清單。 使用這個方法來擷取此列表的參考。

COleIPFrameWndEx::GetToolbarButtonToolTipText

架構先呼叫,再顯示工具提示按鈕。

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

參數

pButton
[in]按鈕的指標。

strTTText
[in]工具提示文字的指標。

傳回值

默認實作會傳回 0。

備註

覆寫此函式,以自訂工具列按鈕上的工具提示顯示。

COleIPFrameWndEx::InitUserToobars

指定架構指派給使用者定義工具列的控制標識元範圍。

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

參數

lpszRegEntry
[in]連結庫儲存使用者工具列設定的登錄專案。

uiUserToolbarFirst
[in]指派給第一個使用者定義工具列的控件識別碼。

uiUserToolbarLast
[in]指派給最後一個使用者定義工具列的控件識別碼。

備註

使用此函式來初始化控件識別碼的範圍,以指派給使用者動態定義的工具列。 參數 uiUserToolbarFirst 和 uiUserToolbarLast 會定義允許的工具列控件識別符範圍。 若要停用使用者定義工具列的建立,請將 uiUserToolbarFirstuiUserToolbarLast 設定為 -1。

COleIPFrameWndEx::InsertPane

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

參數

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

傳回值

備註

COleIPFrameWndEx::IsMenuBarAvailable

判斷功能表欄物件的指標是否不是 NULL

BOOL IsMenuBarAvailable() const;

傳回值

如果框架視窗具有功能表欄,則傳回非零值;否則會傳回 0。

備註

呼叫這個方法,以判斷框架視窗是否維護其功能表欄物件的非NULL指標。

COleIPFrameWndEx::IsPointNearDockSite

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

參數

[in]
[in] dwBarAlignment
[in] bOuterEdge

傳回值

備註

COleIPFrameWndEx::LoadFrame

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

參數

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

傳回值

備註

COleIPFrameWndEx::OnCloseDockingPane

virtual BOOL OnCloseDockingPane(CDockablePane*);

參數

[輸入] CDockablePane*

傳回值

備註

COleIPFrameWndEx::OnCloseMiniFrame

virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);

參數

[輸入] CPaneFrameWnd*

傳回值

備註

COleIPFrameWndEx::OnClosePopupMenu

架構在作用中的快顯功能表處理 WM_DESTROY 訊息時所呼叫。

virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);

參數

pMenuPopup
[in]快捷功能表物件的指標。

備註

覆寫此方法,以在處理WM_DESTROY訊息時接收來自 CMFCPopupMenu 物件的通知。

COleIPFrameWndEx::OnCmdMsg

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

參數

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

傳回值

備註

COleIPFrameWndEx::OnDrawMenuImage

當繪製與功能表項相關聯的影像時,由架構呼叫。

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

參數

pDC
[in]裝置內容的指標。

pMenuButton
[in]功能表按鈕的指標。

rectImage
[in]與功能表項相關聯的影像。

傳回值

默認實作不會執行任何動作,並傳回 0。

備註

如果您想要自定義屬於衍生物件所 COleIPFrameWndEx擁有功能表欄的功能表項影像繪圖,請覆寫此方法。

架構在 CMFCPopupMenu物件處理 WM_PAINT 訊息時所呼叫。

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

參數

pDC
[in]裝置內容的指標。

pMenu
[in]快捷功能表物件的指標。

rectLogo
[in]要顯示的標誌指標。

備註

覆寫這個方法,在與衍生物件所擁有的 COleIPFrameWndEx功能表欄相關聯的快捷功能表上顯示標誌。 預設實作不做任何動作。

COleIPFrameWndEx::OnMenuButtonToolHitTest

當 CMFCToolBarButton對象處理WM_NCHITTEST訊息時,由架構呼叫。

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

參數

[in] pButton 功能表按鈕的指標。

[out] 結構的 pTI 指標 TOOLINFO

傳回值

默認實作不會執行任何動作,並傳回 0。 如果您的實作填滿 pTI 參數,則應該傳回非零的值。

備註

覆寫此方法,以提供特定功能表項的工具提示資訊。

COleIPFrameWndEx::OnMoveMiniFrame

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

參數

[in] pFrame

傳回值

備註

COleIPFrameWndEx::OnSetPreviewMode

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

參數

[in] bPreview
[in] pState

備註

COleIPFrameWndEx::OnShowCustomizePane

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

參數

[in] pMenuPane
[in] uiToolbarID

傳回值

備註

COleIPFrameWndEx::OnShowPanes

virtual BOOL OnShowPanes(BOOL bShow);

參數

[in] bShow

傳回值

備註

COleIPFrameWndEx::OnShowPopupMenu

顯示快捷功能表時,由架構呼叫。

virtual BOOL OnShowPopupMenu(CMFCPopupMenu* pMenuPopup);

參數

pMenuPopup
[in]要顯示的快捷功能表指標。

傳回值

默認實作不會執行任何動作,並傳回非零值。 如果快顯功能表無法顯示,您的實作應該會傳回 FALSE。

備註

覆寫此方法以自定義彈出視窗的顯示。 例如,您可以將功能表按鈕變更為色彩功能表按鈕,或初始化卸除列。

COleIPFrameWndEx::OnTearOffMenu

當用戶選取具有卸除列的功能表時,由架構呼叫。

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

參數

pMenuPopup
[in]用戶選取之快捷功能表的指標。

pBar
[in]主控功能表之窗格的指標。

傳回值

如果您想要讓架構啟用快捷功能表,則為TRUE;否則為 FALSE。 預設值為 TRUE。

備註

如果您想要自定義卸除列的設定,請覆寫此函式。

COleIPFrameWndEx::P aneFromPoint

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

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

參數

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

傳回值

備註

COleIPFrameWndEx::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

參數

[in] pMsg

傳回值

備註

COleIPFrameWndEx::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

參數

[in] bNotify

備註

COleIPFrameWndEx::RemovePaneFromDockManager

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

參數

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

備註

COleIPFrameWndEx::SetDockState

將指定的停駐狀態套用至屬於框架視窗的窗格。

void SetDockState(const CDockState& state);

參數

state
[in]指定停駐狀態。

備註

使用此函式為屬於 COleIPFrameWndEx 物件的窗格指定新的停駐狀態。

COleIPFrameWndEx::SetupToolbarMenu

藉由搜尋虛設項目並替換成指定的使用者定義項目,修改工具列物件。

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

參數

功能表
[in]要修改之 CMenu 物件的參考。

uiViewUserToolbarCmdFirst
[in]指定第一個使用者定義的命令。

uiViewUserToolbarCmdLast
[in]指定最後一個使用者定義的命令。

備註

COleIPFrameWndEx::ShowPane

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

參數

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

備註

COleIPFrameWndEx::WinHelpA

架構所呼叫以起始 WinHelp 應用程式或內容說明。

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

參數

[in] dwData 指定 nCmd指定說明類型所需的數據。

nCmd
[in]指定所要求的說明類型。 如需可能值的清單,以及它們如何影響 dwData 參數,請參閱 Windows SDK 中的 WinHelp 函式

備註

另請參閱

階層架構圖表
類別
CFrameWndEx 類別
CMDIFrameWndEx 類別