Compartir por


Clase COleIPFrameWndEx

La clase COleIPFrameWndEx implementa un contenedor OLE compatible con MFC. Es necesario derivar la clase de ventana de marco en contexto de la aplicación desde la clase COleIPFrameWndEx en lugar de derivarla desde la clase COleIPFrameWnd. Para obtener información más detallada, consulta el código fuente que se ubica en la carpeta VC\atlmfc\src\mfc de la instalación de Visual Studio.

Sintaxis

class COleIPFrameWndEx : public COleIPFrameWnd

Miembros

Métodos públicos

Nombre Descripción
COleIPFrameWndEx::AddDockSite
COleIPFrameWndEx::AddPane
COleIPFrameWndEx::AdjustDockingLayout
COleIPFrameWndEx::DockPane
COleIPFrameWndEx::DockPaneLeftOf Acopla un panel a la izquierda de otro panel.
COleIPFrameWndEx::EnableAutoHidePanes
COleIPFrameWndEx::EnableDocking
COleIPFrameWndEx::EnablePaneMenu
COleIPFrameWndEx::GetActivePopup Devuelve un puntero al menú emergente mostrado actualmente.
COleIPFrameWndEx::GetContainerFrameWindow
COleIPFrameWndEx::GetDefaultResId Devuelve el identificador de recurso de la ventana de marco se que especificó al cargar la ventana.
COleIPFrameWndEx::GetDockFrame
COleIPFrameWndEx::GetDockingManager
COleIPFrameWndEx::GetMainFrame
COleIPFrameWndEx::GetMenuBar Devuelve un puntero al objeto de barra de menú asociado a la ventana de marco.
COleIPFrameWndEx::GetPane
COleIPFrameWndEx::GetTearOffBars Devuelve una lista de objetos de panel que están en un estado desplazable.
COleIPFrameWndEx::GetToolbarButtonToolTipText Lo llama el marco de trabajo antes de que aparezca la información sobre herramientas para un botón.
COleIPFrameWndEx::InsertPane
COleIPFrameWndEx::IsMenuBarAvailable Determina si el puntero al objeto de barra de menú no es NULL.
COleIPFrameWndEx::IsPointNearDockSite
COleIPFrameWndEx::LoadFrame (Invalida COleIPFrameWnd::LoadFrame).
COleIPFrameWndEx::OnCloseDockingPane
COleIPFrameWndEx::OnCloseMiniFrame
COleIPFrameWndEx::OnClosePopupMenu Lo llama el marco cuando un menú emergente activo procesa un mensaje WM_DESTROY.
COleIPFrameWndEx::OnCmdMsg (Invalida CFrameWnd::OnCmdMsg).
COleIPFrameWndEx::OnDrawMenuImage Lo llama el marco de trabajo cuando se dibuja la imagen asociada a un elemento de menú.
COleIPFrameWndEx::OnDrawMenuLogo Lo llama el marco de trabajo cuando un objeto CMFCPopupMenuprocesa un mensaje WM_PAINT.
COleIPFrameWndEx::OnMenuButtonToolHitTest Lo llama el marco cuando un objeto CMFCToolBarButtonprocesa un mensaje WM_NCHITTEST.
COleIPFrameWndEx::OnMoveMiniFrame
COleIPFrameWndEx::OnSetPreviewMode Llame a esta función miembro para establecer la ventana de marco principal de la aplicación dentro y fuera del modo de vista previa de impresión. (Invalida CFrameWnd::OnSetPreviewMode).
COleIPFrameWndEx::OnShowCustomizePane
COleIPFrameWndEx::OnShowPanes
COleIPFrameWndEx::OnShowPopupMenu Lo llama el marco de trabajo cuando se activa un menú emergente.
COleIPFrameWndEx::OnTearOffMenu Lo llama el marco de trabajo cuando se activa un menú con barra desplazable.
COleIPFrameWndEx::PaneFromPoint
COleIPFrameWndEx::PreTranslateMessage (Invalida COleIPFrameWnd::PreTranslateMessage).
COleIPFrameWndEx::RecalcLayout (Invalida COleIPFrameWnd::RecalcLayout).
COleIPFrameWndEx::RemovePaneFromDockManager
COleIPFrameWndEx::SetDockState Aplica el estado de acoplamiento especificado a los paneles que pertenecen a la ventana de marco.
COleIPFrameWndEx::SetupToolbarMenu Modifica un objeto de barra de herramientas al buscar elementos ficticios y reemplazarlos con los elementos definidos por el usuario especificados.
COleIPFrameWndEx::ShowPane
COleIPFrameWndEx::WinHelpA Lo llama el marco para iniciar la aplicación o la ayuda contextual de WinHelp.

Métodos protegidos

Nombre Descripción
COleIPFrameWndEx::InitUserToobars Indica al marco que inicialice un rango de identificadores de control que están asignados a las barras de herramientas definidas por el usuario.

Ejemplo

En el ejemplo siguiente se muestra cómo crear subclases de una instancia de la clase COleIPFrameWndEx e invalidar sus métodos. En el ejemplo se muestra cómo invalidar el método OnDestory , el método RepositionFrame , el método RecalcLayout y el método CalcWindowRect . Este fragmento de código forma parte del ejemplo de 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);
}

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CFrameWnd

COleIPFrameWnd

COleIPFrameWndEx

Requisitos

Encabezado: afxoleipframewndex.h

COleIPFrameWndEx::AddDockSite

void AddDockSite();

Comentarios

COleIPFrameWndEx::AddPane

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

Parámetros

[in] pControlBar
[in] bTail

Valor devuelto

Comentarios

COleIPFrameWndEx::AdjustDockingLayout

virtual void AdjustDockingLayout(HDWP hdwp = NULL);

Parámetros

[in] hdwp

Comentarios

COleIPFrameWndEx::DockPane

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

Parámetros

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

Comentarios

COleIPFrameWndEx::DockPaneLeftOf

Acopla un panel a la izquierda de otro panel.

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

Parámetros

pBar
[in] Puntero al panel que se va a acoplar.

pLeftOf
[in] Puntero al panel que actúa como origen.

Valor devuelto

Devuelve TRUE si la operación se realiza correctamente. En caso contrario, devuelve FALSE.

Comentarios

Llame a este método para acoplar varios objetos de panel en un orden predefinido. Este método acopla el panel especificado por pBar a la izquierda del panel especificado por pLeftOf.

COleIPFrameWndEx::EnableAutoHidePanes

BOOL EnableAutoHidePanes(DWORD dwDockStyle);

Parámetros

[in] dwDockStyle

Valor devuelto

Comentarios

COleIPFrameWndEx::EnableDocking

BOOL EnableDocking(DWORD dwDockStyle);

Parámetros

[in] dwDockStyle

Valor devuelto

Comentarios

COleIPFrameWndEx::EnablePaneMenu

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

Parámetros

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

Comentarios

COleIPFrameWndEx::GetActivePopup

Devuelve un puntero al menú emergente mostrado actualmente.

CMFCPopupMenu* GetActivePopup() const;

Valor devuelto

Un puntero dirigido al menú emergente activo; en caso contrario, devuelve NULL.

Comentarios

Use este método para obtener un puntero dirigido al objeto de Clase CMFCPopupMenu que se muestra actualmente.

COleIPFrameWndEx::GetContainerFrameWindow

COleCntrFrameWndEx* GetContainerFrameWindow();

Valor devuelto

Comentarios

COleIPFrameWndEx::GetDefaultResId

Devuelve el Id. de recurso de menú que se especificó cuando la ventana de marco cargó el menú.

UINT GetDefaultResId() const;

Valor devuelto

Devuelve el Id. de recurso del menú; si la ventana de marco no tiene ninguna barra de menús, devuelve cero.

Comentarios

Llame a esta función para recuperar el Id. de recurso que se especificó cuando la ventana de marco cargó el recurso de menú mediante una llamada a COleIPFrameWndEx::LoadFrame.

COleIPFrameWndEx::GetDockFrame

CFrameWnd* GetDockFrame();

Valor devuelto

Comentarios

COleIPFrameWndEx::GetDockingManager

CDockingManager* GetDockingManager();

Valor devuelto

Comentarios

COleIPFrameWndEx::GetMainFrame

CFrameWnd* GetMainFrame();

Valor devuelto

Comentarios

COleIPFrameWndEx::GetMenuBar

Devuelve un puntero al objeto de barra de menú asociado a la ventana de marco.

const CMFCMenuBar* GetMenuBar() const;

Valor devuelto

Puntero al objeto de barra de menús.

Comentarios

Utilice esta función para recuperar un puntero dirigido al objeto de barra de menús que pertenece al objeto COleIPFrameWndEx.

COleIPFrameWndEx::GetPane

CBasePane* GetPane(UINT nID);

Parámetros

[in] nID

Valor devuelto

Comentarios

COleIPFrameWndEx::GetTearOffBars

Devuelve una lista de objetos de panel que están en un estado desplazable.

const CObList& GetTearOffBars() const;

Valor devuelto

Referencia a un objeto CObList que contiene una colección de punteros dirigidos a los objetos derivados de la Clase CBasePane.

Comentarios

El objeto COleIPFrameWndEx mantiene la colección de menús desplazables como una lista de objetos derivados de la Clase CBasePane. Use este método para recuperar una referencia a esta lista.

COleIPFrameWndEx::GetToolbarButtonToolTipText

Lo llama el marco de trabajo antes de que aparezca la información sobre herramientas para un botón.

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

Parámetros

pButton
[in] Puntero al botón.

strTTText
[in] Puntero al texto de la información sobre herramientas.

Valor devuelto

La implementación predeterminada devuelve cero.

Comentarios

Invalide esta función para personalizar la presentación de las informaciones sobre herramientas en los botones de la barra de herramientas.

COleIPFrameWndEx::InitUserToobars

Especifica un intervalo de Ids. de control que el marco asigna a las barras de herramientas definidas por el usuario.

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

Parámetros

lpszRegEntry
[in] La entrada del Registro en la que la biblioteca almacena la configuración del usuario para la barra de herramientas.

uiUserToolbarFirst
[in] El Id. de control asignado a la primera barra de herramientas definida por el usuario.

uiUserToolbarLast
[in] El Id. de control asignado a la última barra de herramientas definida por el usuario.

Comentarios

Use esta función para inicializar un intervalo de Ids. de control para la asignación a las barras de herramientas que los usuarios definen dinámicamente. Los parámetros uiUserToolbarFirst y uiUserToolbarLast definen un intervalo de Ids. permitidos de control de la barra de herramientas. Para deshabilitar la creación de barras de herramientas definidas por el usuario, establezca uiUserToolbarFirst o uiUserToolbarLast en -1.

COleIPFrameWndEx::InsertPane

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

Parámetros

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

Valor devuelto

Comentarios

COleIPFrameWndEx::IsMenuBarAvailable

Determina si el puntero dirigido al objeto de barra de menús no es NULL

BOOL IsMenuBarAvailable() const;

Valor devuelto

Devuelve un valor distinto de cero si la ventana de marco tiene una barra de menús; de lo contrario, devuelve cero.

Comentarios

Llame a este método para determinar si la ventana de marco mantiene un puntero distinto de NULL dirigido a su objeto de barra de menús.

COleIPFrameWndEx::IsPointNearDockSite

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

Parámetros

[in] point
[in] dwBarAlignment
[in] bOuterEdge

Valor devuelto

Comentarios

COleIPFrameWndEx::LoadFrame

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

Parámetros

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

Valor devuelto

Comentarios

COleIPFrameWndEx::OnCloseDockingPane

virtual BOOL OnCloseDockingPane(CDockablePane*);

Parámetros

[in] CDockablePane*

Valor devuelto

Comentarios

COleIPFrameWndEx::OnCloseMiniFrame

virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);

Parámetros

[in] CPaneFrameWnd*

Valor devuelto

Comentarios

COleIPFrameWndEx::OnClosePopupMenu

Lo llama el marco cuando un menú emergente activo procesa un mensaje WM_DESTROY.

virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);

Parámetros

pMenuPopup
[in] Puntero al objeto de menú emergente.

Comentarios

Invalide este método para recibir notificaciones de objetos CMFCPopupMenu cuando procesan mensajes WM_DESTROY.

COleIPFrameWndEx::OnCmdMsg

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

Parámetros

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

Valor devuelto

Comentarios

COleIPFrameWndEx::OnDrawMenuImage

El marco de trabajo llama a este método cuando se dibuja la imagen asociada a un elemento de menú.

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

Parámetros

pDC
[in] Puntero al contexto del dispositivo.

pMenuButton
[in] Puntero al botón del menú.

rectImage
[in] La imagen asociada al elemento del menú.

Valor devuelto

La implementación predeterminada no hace nada y devuelve cero.

Comentarios

Invalide este método si desea personalizar el dibujo de imágenes para los elementos de menú que pertenecen a la barra de menús propiedad del objeto derivado de COleIPFrameWndEx.

Lo llama el marco de trabajo cuando un objeto CMFCPopupMenuprocesa un mensaje WM_PAINT.

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

Parámetros

pDC
[in] Puntero al contexto del dispositivo.

pMenu
[in] Puntero al objeto de menú emergente.

rectLogo
[in] Puntero al logotipo que se va a mostrar.

Comentarios

Invalide este método para mostrar un logotipo en el menú emergente asociado a la barra de menús propiedad del objeto derivado de COleIPFrameWndEx. La implementación predeterminada no hace nada.

COleIPFrameWndEx::OnMenuButtonToolHitTest

El marco de trabajo llama a este método cuando un objeto CMFCToolBarButton procesa un mensaje WM_NCHITTEST.

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

Parámetros

[in] Puntero pButton dirigido a un botón de menú.

[out] Puntero pTI dirigido a una estructura TOOLINFO.

Valor devuelto

La implementación predeterminada no hace nada y devuelve cero. La implementación debe devolver un valor distinto de cero si rellena el parámetro pTI.

Comentarios

Invalide este método para proporcionar la información sobre herramientas (ToolTip) de un elemento específico del menú.

COleIPFrameWndEx::OnMoveMiniFrame

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Parámetros

[in] pFrame

Valor devuelto

Comentarios

COleIPFrameWndEx::OnSetPreviewMode

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

Parámetros

[in] bPreview
[in] pState

Comentarios

COleIPFrameWndEx::OnShowCustomizePane

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

Parámetros

[in] pMenuPane
[in] uiToolbarID

Valor devuelto

Comentarios

COleIPFrameWndEx::OnShowPanes

virtual BOOL OnShowPanes(BOOL bShow);

Parámetros

[in] bShow

Valor devuelto

Comentarios

COleIPFrameWndEx::OnShowPopupMenu

El marco de trabajo llama a este método cuando se muestra un menú emergente.

virtual BOOL OnShowPopupMenu(CMFCPopupMenu* pMenuPopup);

Parámetros

pMenuPopup
[in] Puntero al menú emergente que se va a mostrar.

Valor devuelto

La implementación predeterminada no hace nada y devuelve un valor distinto de cero. La implementación debe devolver FALSE si no se puede mostrar el menú emergente.

Comentarios

Invalide este método para personalizar la presentación de un menú emergente. Por ejemplo, podría cambiar los botones de menú a botones de menú de colores o inicializar barras desplazables.

COleIPFrameWndEx::OnTearOffMenu

El marco de trabajo llama a este método cuando el usuario selecciona un menú que tiene una barra desplazable.

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

Parámetros

pMenuPopup
[in] Puntero al menú emergente seleccionado por el usuario.

pBar
[in] Puntero al panel que hospeda el menú.

Valor devuelto

TRUE si desea que el marco active el menú emergente; en caso contrario, devuelve FALSE. El valor predeterminado es TRUE.

Comentarios

Invalide esta función si desea personalizar la configuración de la barra desplazable.

COleIPFrameWndEx::PaneFromPoint

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

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

Parámetros

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

Valor devuelto

Comentarios

COleIPFrameWndEx::PreTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parámetros

[in] pMsg

Valor devuelto

Comentarios

COleIPFrameWndEx::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parámetros

[in] bNotify

Comentarios

COleIPFrameWndEx::RemovePaneFromDockManager

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

Parámetros

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

Comentarios

COleIPFrameWndEx::SetDockState

Aplica el estado de acoplamiento especificado a los paneles que pertenecen a la ventana de marco.

void SetDockState(const CDockState& state);

Parámetros

state
[in] Especifica el estado de acoplamiento.

Comentarios

Use esta función para especificar un nuevo estado de acoplamiento para los paneles que pertenecen al objeto COleIPFrameWndEx.

COleIPFrameWndEx::SetupToolbarMenu

Modifica un objeto de barra de herramientas al buscar elementos ficticios y reemplazarlos con los elementos definidos por el usuario especificados.

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

Parámetros

menú
[in] Referencia a un objeto CMenu que se va a modificar.

uiViewUserToolbarCmdFirst
[in] Especifica el primer comando definido por el usuario.

uiViewUserToolbarCmdLast
[in] Especifica el último comando definido por el usuario.

Comentarios

COleIPFrameWndEx::ShowPane

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

Parámetros

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

Comentarios

COleIPFrameWndEx::WinHelpA

Lo llama el marco para iniciar la aplicación o la ayuda contextual de WinHelp.

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

Parámetros

[in] dwData Especifica datos según sea necesario para el tipo de ayuda indicada por nCmd.

nCmd
[in] Especifica el tipo de ayuda solicitada. Para obtener una lista de posibles valores y saber cómo afectan al parámetro dwData, consulte la Función WinHelp en Windows SDK.

Comentarios

Consulte también

Gráfico de jerarquías
Clases
CFrameWndEx (clase)
CMDIFrameWndEx (clase)