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
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
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.
COleIPFrameWndEx::OnDrawMenuLogo
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