Sdílet prostřednictvím


COleIPFrameWndEx – třída

Třída COleIPFrameWndEx implementuje kontejner OLE, který podporuje mfc. Z třídy musíte odvodit místní třídu okna rámečku pro vaši aplikaci, COleIPFrameWndEx místo abyste ji odvozovali z COleIPFrameWndtřídy. Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.

Syntaxe

class COleIPFrameWndEx : public COleIPFrameWnd

Členové

Veřejné metody

Název Popis
COleIPFrameWndEx::AddDockSite
COleIPFrameWndEx::AddPane
COleIPFrameWndEx::AdjustDockingLayout
COleIPFrameWndEx::D ockPane
COleIPFrameWndEx::D ockPaneLeftOf Ukotví jedno podokno vlevo od jiného podokna.
COleIPFrameWndEx::EnableAutoHidePanes
COleIPFrameWndEx::EnableDocking
COleIPFrameWndEx::EnablePaneMenu
COleIPFrameWndEx::GetActivePopup Vrátí ukazatel na aktuálně zobrazenou místní nabídku.
COleIPFrameWndEx::GetContainerFrameWindow
COleIPFrameWndEx::GetDefaultResId Vrátí ID prostředku okna rámce, které jste zadali při načtení okna.
COleIPFrameWndEx::GetDockFrame
COleIPFrameWndEx::GetDockingManager
COleIPFrameWndEx::GetMainFrame
COleIPFrameWndEx::GetMenuBar Vrátí ukazatel na objekt řádku nabídek připojený k okně rámečku.
COleIPFrameWndEx::GetPane
COleIPFrameWndEx::GetTearOffBars Vrátí seznam objektů podokna, které jsou ve stavu odtrhání.
COleIPFrameWndEx::GetToolbarButtonToolTipText Volá se rozhraním před zobrazením popisu tlačítka.
COleIPFrameWndEx::InsertPane
COleIPFrameWndEx::IsMenuBarAvailable Určuje, zda ukazatel na objekt řádku nabídek není NULL.
COleIPFrameWndEx::IsPointNearDockSite
COleIPFrameWndEx::LoadFrame (Přepsání COleIPFrameWnd::LoadFrame.)
COleIPFrameWndEx::OnCloseDockingPane
COleIPFrameWndEx::OnCloseMiniFrame
COleIPFrameWndEx::OnClosePopupMenu Volá se rozhraním, když aktivní místní nabídka zpracuje WM_DESTROY zprávu.
COleIPFrameWndEx::OnCmdMsg (Přepsání CFrameWnd::OnCmdMsg.)
COleIPFrameWndEx::OnDrawMenuImage Volá se rozhraním při vykreslení obrázku přidruženého k položce nabídky.
COleIPFrameWndEx::OnDrawMenuLogo Volá se architekturou, když CMFCPopupMenuobjekt zpracuje WM_PAINT zprávu.
COleIPFrameWndEx::OnMenuButtonToolHitTest Volá se rozhraním, když CMFCToolBarButtonobjekt procesy WM_NCHITTEST zprávy.
COleIPFrameWndEx::OnMoveMiniFrame
COleIPFrameWndEx::OnSetPreviewMode Voláním této členské funkce nastavíte okno hlavního rámce aplikace do režimu náhledu tisku a z režimu náhledu. (Přepsání CFrameWnd::OnSetPreviewMode.)
COleIPFrameWndEx::OnShowCustomizePane
COleIPFrameWndEx::OnShowPanes
COleIPFrameWndEx::OnShowPopupMenu Volá se rozhraním při aktivaci místní nabídky.
COleIPFrameWndEx::OnTearOffMenu Volá se rozhraním, když je aktivována nabídka s odtrženou lištou.
COleIPFrameWndEx::P aneFromPoint
COleIPFrameWndEx::P reTranslateMessage (Přepsání COleIPFrameWnd::PreTranslateMessage.)
COleIPFrameWndEx::RecalcLayout (Přepsání COleIPFrameWnd::RecalcLayout.)
COleIPFrameWndEx::RemovePaneFromDockManager
COleIPFrameWndEx::SetDockState Použije zadaný stav ukotvení u podoken, které patří do okna rámečku.
COleIPFrameWndEx::SetupToolbarMenu Upraví objekt panelu nástrojů vyhledáním fiktivních položek a jejich nahrazením zadanými uživatelem definovanými položkami.
COleIPFrameWndEx::ShowPane
COleIPFrameWndEx::WinHelpA Volá se rozhraním pro zahájení aplikace WinHelp nebo kontextové nápovědy.

Chráněné metody

Název Popis
COleIPFrameWndEx::InitUserToobars Informuje architekturu o inicializaci řady ID ovládacích prvků, které jsou přiřazeny k uživatelsky definovaným panelům nástrojů.

Příklad

Následující příklad ukazuje, jak podtřídu instance COleIPFrameWndEx třídy a přejíždět jeho metody. Příklad ukazuje, jak přejíždět metodu OnDestory , metodu RepositionFrame , metodu RecalcLayout a metodu CalcWindowRect . Tento fragment kódu je součástí ukázky wordové oblasti.

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);
}

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CFrameWnd

COleIPFrameWnd

COleIPFrameWndEx

Požadavky

Hlavička: afxoleipframewndex.h

COleIPFrameWndEx::AddDockSite

void AddDockSite();

Poznámky

COleIPFrameWndEx::AddPane

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

Parametry

[v] pControlBar
[v] bTail

Návratová hodnota

Poznámky

COleIPFrameWndEx::AdjustDockingLayout

virtual void AdjustDockingLayout(HDWP hdwp = NULL);

Parametry

[v] hdwp

Poznámky

COleIPFrameWndEx::D ockPane

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

Parametry

[v] pBar
[v] nDockBarID
[v] lpRect

Poznámky

COleIPFrameWndEx::D ockPaneLeftOf

Ukotví jedno podokno vlevo od jiného podokna.

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

Parametry

pBar
[v] Ukazatel na podokno pro ukotvení.

pLeftOf
[v] Ukazatel na podokno, které slouží jako zdroj.

Návratová hodnota

Vrátí hodnotu TRUE, pokud je operace úspěšná. V opačném případě vrátí hodnotu FALSE.

Poznámky

Voláním této metody ukotvíte několik objektů podokna v předdefinovaném pořadí. Tato metoda ukotví podokno určené pBar vlevo od podokna určeného pLeftOf.

COleIPFrameWndEx::EnableAutoHidePanes

BOOL EnableAutoHidePanes(DWORD dwDockStyle);

Parametry

[v] dwDockStyle

Návratová hodnota

Poznámky

COleIPFrameWndEx::EnableDocking

BOOL EnableDocking(DWORD dwDockStyle);

Parametry

[v] dwDockStyle

Návratová hodnota

Poznámky

COleIPFrameWndEx::EnablePaneMenu

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

Parametry

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

Poznámky

COleIPFrameWndEx::GetActivePopup

Vrátí ukazatel na aktuálně zobrazenou místní nabídku.

CMFCPopupMenu* GetActivePopup() const;

Návratová hodnota

Ukazatel na aktivní místní nabídku; jinak NULL.

Poznámky

Tuto metodu použijte k získání ukazatele na CMFCPopupMenu Class objektu, který je aktuálně zobrazen.

COleIPFrameWndEx::GetContainerFrameWindow

COleCntrFrameWndEx* GetContainerFrameWindow();

Návratová hodnota

Poznámky

COleIPFrameWndEx::GetDefaultResId

Vrátí ID prostředku nabídky, které bylo zadáno při načtení okna rámce nabídky.

UINT GetDefaultResId() const;

Návratová hodnota

Vrátí ID prostředku nabídky nebo hodnotu 0, pokud okno rámce neobsahuje žádný řádek nabídek.

Poznámky

Voláním této funkce načtěte ID prostředku, které bylo zadáno při načtení okna rámce prostředek nabídky voláním COleIPFrameWndEx::LoadFrame.

COleIPFrameWndEx::GetDockFrame

CFrameWnd* GetDockFrame();

Návratová hodnota

Poznámky

COleIPFrameWndEx::GetDockingManager

CDockingManager* GetDockingManager();

Návratová hodnota

Poznámky

COleIPFrameWndEx::GetMainFrame

CFrameWnd* GetMainFrame();

Návratová hodnota

Poznámky

COleIPFrameWndEx::GetMenuBar

Vrátí ukazatel na objekt řádku nabídek připojený k okně rámečku.

const CMFCMenuBar* GetMenuBar() const;

Návratová hodnota

Ukazatel na objekt řádku nabídek.

Poznámky

Pomocí této funkce můžete načíst ukazatel na objekt řádku nabídek, který patří objektu COleIPFrameWndEx .

COleIPFrameWndEx::GetPane

CBasePane* GetPane(UINT nID);

Parametry

[v] Nid

Návratová hodnota

Poznámky

COleIPFrameWndEx::GetTearOffBars

Vrátí seznam objektů podokna, které jsou ve stavu odtrhání.

const CObList& GetTearOffBars() const;

Návratová hodnota

Odkaz na CObList objekt, který obsahuje kolekci ukazatelů na CBasePane Třídy odvozené objekty.

Poznámky

Objekt COleIPFrameWndEx udržuje kolekci rozevíracích nabídek jako seznam CBasePane Třídy odvozené objekty. Tuto metodu použijte k načtení odkazu na tento seznam.

COleIPFrameWndEx::GetToolbarButtonToolTipText

Volá se rozhraním před zobrazením popisu tlačítka.

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

Parametry

pButton
[v] Ukazatel na tlačítko.

strTTText
[v] Ukazatel na text popisu

Návratová hodnota

Výchozí implementace vrátí hodnotu 0.

Poznámky

Přepište tuto funkci tak, aby se přizpůsobily zobrazení popisů tlačítek na panelu nástrojů.

COleIPFrameWndEx::InitUserToobars

Určuje rozsah ID ovládacích prvků, které architektura přiřadí k uživatelsky definovaným panelům nástrojů.

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

Parametry

lpszRegEntry
[v] Položka registru, ve které knihovna ukládá nastavení panelu nástrojů uživatele.

uiUserToolbarFirst
[v] ID ovládacího prvku přiřazené k prvnímu uživatelsky definovanému panelu nástrojů.

uiUserToolbarLast
[v] ID ovládacího prvku přiřazené k poslednímu uživatelsky definovanému panelu nástrojů.

Poznámky

Tato funkce slouží k inicializaci řady ID ovládacích prvků pro přiřazení k panelům nástrojů, které uživatelé definují dynamicky. Parametry uiUserToolbarFirst a uiUserToolbarLast definují rozsah povolených ID ovládacích prvků panelu nástrojů. Chcete-li zakázat vytváření uživatelsky definovaných panelů nástrojů, nastavte uiUserToolbarFirst nebo uiUserToolbarLast na -1.

COleIPFrameWndEx::InsertPane

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

Parametry

[v] pControlBar
[v] pTarget
[v] bAfter

Návratová hodnota

Poznámky

COleIPFrameWndEx::IsMenuBarAvailable

Určuje, zda ukazatel na objekt řádku nabídek není NULL.

BOOL IsMenuBarAvailable() const;

Návratová hodnota

Vrátí nenulovou hodnotu, pokud má okno rámečku řádek nabídek; v opačném případě vrátí hodnotu 0.

Poznámky

Voláním této metody určíte, zda okno rámce udržuje ukazatel non-NULL na jeho řádek nabídek objektu.

COleIPFrameWndEx::IsPointNearDockSite

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

Parametry

[v] bod
[v] dwBarAlignment
[v] bOuterEdge

Návratová hodnota

Poznámky

COleIPFrameWndEx::LoadFrame

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

Parametry

[v] nIDResource
[v] dwDefaultStyle
[v] pParentWnd
[v] pContext

Návratová hodnota

Poznámky

COleIPFrameWndEx::OnCloseDockingPane

virtual BOOL OnCloseDockingPane(CDockablePane*);

Parametry

[v] CDockablePane*

Návratová hodnota

Poznámky

COleIPFrameWndEx::OnCloseMiniFrame

virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);

Parametry

[v] CPaneFrameWnd*

Návratová hodnota

Poznámky

COleIPFrameWndEx::OnClosePopupMenu

Volá se rozhraním, když aktivní místní nabídka zpracuje WM_DESTROY zprávu.

virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);

Parametry

pMenuPopup
[v] Ukazatel na objekt místní nabídky.

Poznámky

Tuto metodu přepište tak, aby při zpracování WM_DESTROY zpráv přijímala oznámení z CMFCPopupMenu objektů.

COleIPFrameWndEx::OnCmdMsg

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

Parametry

[v] Nid
[v] nCode
[v] pExtra
[v] pHandlerInfo

Návratová hodnota

Poznámky

COleIPFrameWndEx::OnDrawMenuImage

Volá se rozhraním při vykreslení obrázku přidruženého k položce nabídky.

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

Parametry

pDC
[v] Ukazatel na kontext zařízení.

pMenuButton
[v] Ukazatel na tlačítko nabídky.

rectImage
[v] Obrázek přidružený k položce nabídky.

Návratová hodnota

Výchozí implementace nic nedělá a vrací hodnotu 0.

Poznámky

Tuto metodu přepište, pokud chcete přizpůsobit výkres obrázku pro položky nabídky, které patří do řádku nabídek vlastněného COleIPFrameWndEx-odvozený objekt.

Volá se architekturou, když CMFCPopupMenuobjekt zpracuje WM_PAINT zprávu.

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

Parametry

pDC
[v] Ukazatel na kontext zařízení.

pMenu
[v] Ukazatel na objekt místní nabídky.

rectLogo
[v] Ukazatel na logo, které se má zobrazit.

Poznámky

Přepsat tuto metodu zobrazení loga v místní nabídce přidružené k řádku nabídek vlastněného COleIPFrameWndEx-odvozený objekt. Výchozí implementace nic nedělá.

COleIPFrameWndEx::OnMenuButtonToolHitTest

Volá se rozhraním, když CMFCToolBarButtonobjekt zpracuje WM_NCHITTEST zprávu.

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

Parametry

[in] pButton Pointer to a menu button.

[out] ukazatel pTI na TOOLINFO strukturu.

Návratová hodnota

Výchozí implementace nic nedělá a vrací hodnotu 0. Implementace by měla vrátit nenulovou hodnotu, pokud vyplní parametr pTI .

Poznámky

Tuto metodu přepište tak, aby poskytovala informace o popisu konkrétní položky nabídky.

COleIPFrameWndEx::OnMoveMiniFrame

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Parametry

[v] pFrame

Návratová hodnota

Poznámky

COleIPFrameWndEx::OnSetPreviewMode

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

Parametry

[v] bPreview
[v] pState

Poznámky

COleIPFrameWndEx::OnShowCustomizePane

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

Parametry

[v] pMenuPane
[v] UIToolbarID

Návratová hodnota

Poznámky

COleIPFrameWndEx::OnShowPanes

virtual BOOL OnShowPanes(BOOL bShow);

Parametry

[v] BShow

Návratová hodnota

Poznámky

COleIPFrameWndEx::OnShowPopupMenu

Volá se rozhraním při zobrazení místní nabídky.

virtual BOOL OnShowPopupMenu(CMFCPopupMenu* pMenuPopup);

Parametry

pMenuPopup
[v] Ukazatel na místní nabídku, která se má zobrazit.

Návratová hodnota

Výchozí implementace nic nedělá a vrací nenulovou hodnotu. Pokud místní nabídku nelze zobrazit, měla by implementace vrátit hodnotu FALSE.

Poznámky

Tuto metodu přepište tak, aby se přizpůsobilo zobrazení místní nabídky. Můžete například změnit tlačítka nabídky na tlačítka nabídky barev nebo inicializovat odtržovací pruhy.

COleIPFrameWndEx::OnTearOffMenu

Volá se rozhraním, když uživatel vybere nabídku s odtrženou lištou.

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

Parametry

pMenuPopup
[v] Ukazatel na místní nabídku, kterou uživatel vybral.

pBar
[v] Ukazatel na podokno, které je hostitelem nabídky.

Návratová hodnota

TRUE, pokud chcete rozhraní aktivovat místní nabídku; jinak NEPRAVDA. Výchozí hodnota je PRAVDA.

Poznámky

Tuto funkci přepište, pokud chcete přizpůsobit nastavení odtrženého pruhu.

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;

Parametry

[v] bod
[v] NSensitivity
[v] bExactBar
[v] pRTCBarType
[v] dwAlignment

Návratová hodnota

Poznámky

COleIPFrameWndEx::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametry

[v] pMsg

Návratová hodnota

Poznámky

COleIPFrameWndEx::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parametry

[v] bNotify

Poznámky

COleIPFrameWndEx::RemovePaneFromDockManager

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

Parametry

[v] pControlBar
[v] bDestroy
[v] bAdjustLayout
[v] bAutoHide
[v] pBarReplacement

Poznámky

COleIPFrameWndEx::SetDockState

Použije zadaný stav ukotvení u podoken, které patří do okna rámečku.

void SetDockState(const CDockState& state);

Parametry

state
[v] Určuje stav ukotvení.

Poznámky

Pomocí této funkce můžete určit nový stav ukotvení pro podokna, která patří k objektu COleIPFrameWndEx .

COleIPFrameWndEx::SetupToolbarMenu

Upraví objekt panelu nástrojů vyhledáním fiktivních položek a jejich nahrazením zadanými uživatelem definovanými položkami.

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

Parametry

menu
[v] Odkaz na objekt CMenu , který se má upravit.

uiViewUserToolbarCmdFirst
[v] Určuje první uživatelem definovaný příkaz.

uiViewUserToolbarCmdLast
[v] Určuje poslední uživatelem definovaný příkaz.

Poznámky

COleIPFrameWndEx::ShowPane

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

Parametry

[v] pBar
[v] BShow
[v] bDelay
[v] bActivate

Poznámky

COleIPFrameWndEx::WinHelpA

Volá se rozhraním pro zahájení aplikace WinHelp nebo kontextové nápovědy.

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

Parametry

[in] dwData určuje data podle potřeby pro typ nápovědy určené nástrojem nCmd.

nCmd
[v] Určuje typ požadované nápovědy. Seznam možných hodnot a jejich vliv na parametr dwData najdete v tématu Funkce WinHelp v sadě Windows SDK.

Poznámky

Viz také

Graf hierarchie
Třídy
CFrameWndEx – třída
CMDIFrameWndEx – třída