Compartir a través de


CDockingManager (clase)

Implementa la funcionalidad básica que controla el diseño de acoplamiento en una ventana de marco principal.

Sintaxis

class CDockingManager : public CObject

Miembros

Métodos públicos

Nombre Descripción
CDockingManager::AddDockSite Crea un panel de acoplamiento y lo agrega a la lista de barras de control.
CDockingManager::AddHiddenMDITabbedBar Agrega un identificador a un panel de barras a la lista de paneles de barras con pestañas MDI ocultos.
CDockingManager::AddMiniFrame Agrega un marco a la lista de minimarcos.
CDockingManager::AddPane Registra un panel con el administrador de acoplamiento.
CDockingManager::AdjustDockingLayout Vuelve a calcular y ajusta el diseño de todos los paneles de una ventana de marco.
CDockingManager::AdjustPaneFrames Hace que el mensaje WM_NCCALCSIZE se envíe a todos los paneles y ventanas CPaneFrameWnd.
CDockingManager::AdjustRectToClientArea Ajusta la alineación de un rectángulo.
CDockingManager::AlignAutoHidePane Cambia el tamaño de un panel de acoplamiento en modo de autohide para que tome todo el ancho o alto del área de cliente del marco rodeada de sitios de acoplamiento.
CDockingManager::AutoHidePane Crea una barra de herramientas de ocultación automática.
CDockingManager::BringBarsToTop Lleva las barras acopladas que tienen la alineación especificada a la parte superior.
CDockingManager::BuildPanesMenu Agrega nombres de paneles de acoplamiento y barras de herramientas a un menú.
CDockingManager::CalcExpectedDockedRect Calcula el rectángulo esperado de una ventana acoplada.
CDockingManager::Create Crea un administrador de acoplamiento.
CDockingManager::DeterminePaneAndStatus Determina el panel que contiene un punto determinado y su estado de acoplamiento.
CDockingManager::DisableRestoreDockState Habilita o deshabilita la carga del diseño de acoplamiento desde el registro.
CDockingManager::DockPane Acopla un panel a otro panel o a una ventana de marco.
CDockingManager::DockPaneLeftOf Acopla un panel a la izquierda de otro panel.
CDockingManager::EnableAutoHidePanes Habilita el acoplamiento del panel en el marco principal, crea un panel de acoplamiento y lo agrega a la lista de barras de control.
CDockingManager::EnableDocking Crea un panel de acoplamiento y habilita el acoplamiento del panel en el marco principal.
CDockingManager::EnableDockSiteMenu Muestra un botón adicional que abre un menú emergente en los títulos de todos los paneles de acoplamiento.
CDockingManager::EnablePaneContextMenu Indica a la biblioteca que muestre un menú contextual especial que tenga una lista de barras de herramientas de aplicación y paneles de acoplamiento cuando el usuario haga clic en el botón derecho del mouse y la biblioteca esté procesando el mensaje de WM_CONTEXTMENU.
CDockingManager::FindDockSite Recupera el panel de barras que se encuentra en la posición especificada y que tiene la alineación especificada.
CDockingManager::FindDockSiteByPane Devuelve el panel de barras que tiene el identificador del panel de barras de destino.
CDockingManager::FindPaneByID Busca un panel por el identificador de control especificado.
CDockingManager::FixupVirtualRects Confirma todas las posiciones de la barra de herramientas actuales en rectángulos virtuales.
CDockingManager::FrameFromPoint Devuelve el panel que contiene el punto especificado.
CDockingManager::GetClientAreaBounds Obtiene el rectángulo que contiene los límites del área de cliente.
CDockingManager::GetDockingMode Devuelve el modo de acoplamiento actual.
CDockingManager::GetDockSiteFrameWnd Obtiene un puntero al marco de la ventana primaria.
CDockingManager::GetEnabledAutoHideAlignment Devuelve la alineación habilitada de los paneles.
CDockingManager::GetMiniFrames Obtiene una lista de minimarcos.
CDockingManager::GetOuterEdgeBounds Obtiene un rectángulo que contiene los bordes externos del marco.
CDockingManager::GetPaneList Devuelve una lista de paneles que pertenecen al administrador de acoplamiento. Esto incluye todos los paneles flotantes.
CDockingManager::GetSmartDockingManager Recupera un puntero al administrador de acoplamiento inteligente.
CDockingManager::GetSmartDockingManagerPermanent Recupera un puntero al administrador de acoplamiento inteligente.
CDockingManager::GetSmartDockingParams Devuelve los parámetros de acoplamiento inteligente para el administrador de acoplamiento.
CDockingManager::GetSmartDockingTheme Método estático que devuelve un tema usado para mostrar marcadores de acoplamiento inteligente.
CDockingManager::HideAutoHidePanes Oculta un panel que está en modo de ocultación automática.
CDockingManager::InsertDockSite Crea un panel de acoplamiento y lo inserta en la lista de barras de control.
CDockingManager::InsertPane Inserta un panel de control en la lista de barras de control.
CDockingManager::IsDockSiteMenu Especifica si se muestra un menú emergente en los títulos de todos los paneles.
CDockingManager::IsInAdjustLayout Determina si se ajustan los diseños de todos los paneles.
CDockingManager::IsOLEContainerMode Especifica si el administrador de acoplamiento está en modo de contenedor OLE.
CDockingManager::IsPointNearDockSite Determina si un punto especificado está cerca del sitio de acoplamiento.
CDockingManager::IsPrintPreviewValid Determina si se establece el modo de vista previa de impresión.
CDockingManager::LoadState Carga el estado del panel desde el registro.
CDockingManager::LockUpdate Bloquea la ventana especificada.
CDockingManager::OnActivateFrame El marco llama a este método cuando la ventana de marco se activa o desactiva.
CDockingManager::OnClosePopupMenu Lo llama el marco cuando un menú emergente activo procesa un mensaje WM_DESTROY.
CDockingManager::OnMoveMiniFrame El marco llama a este método para mover una ventana minimarco.
CDockingManager::OnPaneContextMenu El marco llama a este método cuando crea un menú que tiene una lista de paneles.
CDockingManager::PaneFromPoint Devuelve el panel que contiene el punto especificado.
CDockingManager::ProcessPaneContextMenuCommand El marco llama a este método para activar o desactivar una casilla para el comando especificado y recalcular el diseño de un panel mostrado.
CDockingManager::RecalcLayout Vuelve a calcular el diseño interno de los controles presentes en la lista de controles.
CDockingManager::ReleaseEmptyPaneContainers Libera los contenedores de panel vacíos.
CDockingManager::RemoveHiddenMDITabbedBar Quita el panel de barras ocultas especificado.
CDockingManager::RemoveMiniFrame Quita un marco especificado de la lista de minimarcos.
CDockingManager::RemovePaneFromDockManager Anula el registro de un panel y lo quita de la lista del administrador de acoplamiento.
CDockingManager::ReplacePane Reemplaza un panel con otro.
CDockingManager::ResortMiniFramesForZOrder Recurre a los marcos en la lista de minimarcos.
CDockingManager::SaveState Guarda el estado del administrador de acoplamiento en el registro.
CDockingManager::SendMessageToMiniFrames Envía el mensaje especificado a todos los minimarcos.
CDockingManager::Serialize Escribe el administrador de acoplamiento en un archivo. (Invalida CObject::Serialize).
CDockingManager::SetAutohideZOrder Establece el tamaño, el ancho y el alto de las barras de control y el panel especificado.
CDockingManager::SetDockingMode Establece el modo de acoplamiento.
CDockingManager::SetDockState Establece el estado de acoplamiento de las barras de control, los minimarcos y las barras de ocultación automática.
CDockingManager::SetPrintPreviewMode Establece el modo de vista previa de impresión de las barras que se muestran en la vista previa de impresión.
CDockingManager::SetSmartDockingParams Establece los parámetros que definen el comportamiento del acoplamiento inteligente.
CDockingManager::ShowDelayShowMiniFrames Muestra u oculta las ventanas de los minimarcos.
CDockingManager::ShowPanes Muestra u oculta los paneles del control y las barras de ocultación automática.
CDockingManager::StartSDocking Inicia el acoplamiento inteligente de la ventana especificada según la alineación del administrador de acoplamiento inteligente.
CDockingManager::StopSDocking Detiene el acoplamiento inteligente.

Miembros de datos

Nombre Descripción
CDockingManager::m_bHideDockingBarsInContainerMode Especifica si el administrador de acoplamiento oculta paneles en el modo de contenedor OLE.
CDockingManager::m_dockModeGlobal Especifica el modo de acoplamiento global.
CDockingManager::m_nDockSensitivity Especifica la sensibilidad de acoplamiento.
CDockingManager::m_nTimeOutBeforeDockingBarDock Especifica el tiempo, en milisegundos, antes de acoplar un panel de acoplamiento en modo de acoplamiento inmediato.
CDockingManager::m_nTimeOutBeforeToolBarDock Especifica el tiempo, en milisegundos, antes de acoplar una barra de herramientas a la ventana de marco principal.

Comentarios

La ventana de marco principal crea e inicializa esta clase automáticamente.

El objeto del administrador de acoplamiento contiene una lista de todos los paneles que se encuentran en el diseño de acoplamiento y también una lista de todas las ventanas CPaneFrameWnd que pertenecen a la ventana de marco principal.

La clase CDockingManager implementa algunos servicios que puede usar para buscar un panel o una ventana CPaneFrameWnd. Normalmente no llama a estos servicios directamente porque se encapsulan en el objeto de ventana de marco principal. Para obtener más información, vea CPaneFrameWnd (clase).

Sugerencias de personalización

Las siguientes sugerencias se aplican a los objetos CDockingManager:

Ejemplo

En el ejemplo siguiente, se muestra cómo configurar un objeto CDockingManager mediante varios métodos de la clase CDockingManager. En el ejemplo se muestra cómo mostrar un botón adicional que abre un menú emergente en los títulos de todos los paneles de acoplamiento y cómo establecer el modo de acoplamiento del objeto. Este fragmento de código forma parte del ejemplo de demostración de Visual Studio.

CDockingManager *pDockManager = GetDockingManager();
ASSERT_VALID(pDockManager);
pDockManager->AdjustPaneFrames();
pDockManager->EnableDockSiteMenu();
pDockManager->SetDockingMode(DT_STANDARD);

Jerarquía de herencia

CObject

CDockingManager

Requisitos

Encabezado: afxDockingManager.h

CDockingManager::AddDockSite

Crea un panel de acoplamiento y lo agrega a la lista de barras de control.

BOOL AddDockSite(
    const AFX_DOCKSITE_INFO& info,
    CDockSite** ppDockBar = NULL);

Parámetros

info
[in] Referencia a una estructura de información que contiene la alineación del panel de acoplamiento.

ppDockBar
[out] Un puntero a un puntero al nuevo panel de acoplamiento.

Valor devuelto

TRUE si el panel de acoplamiento se creó correctamente; FALSE en caso contrario.

CDockingManager::AddHiddenMDITabbedBar

Agrega un identificador a un panel de barras a la lista de paneles de barras con pestañas MDI ocultos.

void AddHiddenMDITabbedBar(CDockablePane* pBar);

Parámetros

pBar
[in] Puntero a un panel de barras

CDockingManager::AddPane

Registra un panel con el administrador de acoplamiento.

BOOL AddPane(
    CBasePane* pWnd,
    BOOL bTail = TRUE,
    BOOL bAutoHide = FALSE,
    BOOL bInsertForOuterEdge = FALSE);

Parámetros

pWnd
[in, out] Especifica el panel que se va a agregar al administrador de acoplamiento.

bTail
[in] TRUE para agregar el panel al final de la lista de paneles para el administrador de acoplamiento; de lo contrario, FALSE.

bAutoHide
[in] Solo para uso interno. Use siempre el valor predeterminado FALSE.

bInsertForOuterEdge
[in] Solo para uso interno. Use siempre el valor predeterminado FALSE.

Valor devuelto

TRUE si el panel se registró correctamente con el administrador de acoplamiento; de lo contrario, FALSE.

Comentarios

Llame a este método para registrar paneles no flotantes y no redimensionables con el administrador de acoplamiento. Si no registra los paneles, no aparecerán correctamente cuando se disponga el administrador de acoplamiento.

CDockingManager::AdjustDockingLayout

Vuelve a calcular y ajusta el diseño de todos los paneles de una ventana de marco.

virtual void AdjustDockingLayout(HDWP hdwp = NULL);

Parámetros

hdwp
[in] Especifica la estructura de posición de la ventana diferida. Para obtener más información, vea Tipos de datos de Windows.

Comentarios

CDockingManager::AddMiniFrame

Agrega un marco a la lista de minimarcos.

virtual BOOL AddMiniFrame(CPaneFrameWnd* pWnd);

Parámetros

pWnd
[in] Un puntero a un marco.

Valor devuelto

TRUE si el marco no está en la lista de minimarcos y se agregó correctamente; FALSE en caso contrario.

CDockingManager::AdjustPaneFrames

Hace que el mensaje WM_NCCALCSIZE se envíe a todos los paneles y ventanas CPaneFrameWnd.

virtual void AdjustPaneFrames();

Comentarios

CDockingManager::AdjustRectToClientArea

Ajusta la alineación de un rectángulo.

virtual BOOL AdjustRectToClientArea(
    CRect& rectResult,
    DWORD dwAlignment);

Parámetros

rectResult
[in] Una referencia a un objeto CRect.

dwAlignment
[in] Alineación del objeto CRect.

Valor devuelto

TRUE si se ha ajustado la alineación del objeto CRect; FALSE en caso contrario.

Comentarios

El parámetro dwAlignment puede tener uno de los valores siguientes:

  • CBRS_ALIGN_TOP

  • CBRS_ALIGN_BOTTOM

  • CBRS_ALIGN_LEFT

  • CBRS_ALIGN_RIGHT

CDockingManager::AlignAutoHidePane

Cambia el tamaño de un panel de acoplamiento en modo de autohide para que tome todo el ancho o alto del área de cliente del marco rodeada de sitios de acoplamiento.

void AlignAutoHidePane(
    CPaneDivider* pDefaultSlider,
    BOOL bIsVisible = TRUE);

Parámetros

pDefaultSlider
[in] Panel deslizante de acoplamiento.

bIsVisible
[in] TRUE si el panel de acoplamiento está visible; FALSE en caso contrario.

CDockingManager::AutoHidePane

Crea una barra de herramientas de ocultación automática.

CMFCAutoHideToolBar* AutoHidePane(
    CDockablePane* pBar,
    CMFCAutoHideToolBar* pCurrAutoHideToolBar = NULL);

Parámetros

pBar
[in] Un puntero al panel de barras.

pCurrAutoHideToolBar
[in] Un puntero a una barra de herramientas de ocultación automática.

Valor devuelto

NULL si no se creó la barra de herramientas de ocultación automática; de lo contrario, un puntero a la nueva barra de herramientas.

CDockingManager::BringBarsToTop

Lleva las barras acopladas que tienen la alineación especificada a la parte superior.

void BringBarsToTop(
    DWORD dwAlignment = 0,
    BOOL bExcludeDockedBars = TRUE);

Parámetros

dwAlignment
[in] Alineación de las barras de acoplamiento que se llevan a la parte superior de otras ventanas.

bExcludeDockedBars
[in] TRUE para excluir las barras acopladas de estar en la parte superior; en caso contrario, FALSE.

CDockingManager::BuildPanesMenu

Agrega nombres de paneles de acoplamiento y barras de herramientas a un menú.

void BuildPanesMenu(
    CMenu& menu,
    BOOL bToolbarsOnly);

Parámetros

menú
[in] Menú al que se van a agregar los nombres de paneles de acoplamiento y barras de herramientas.

bToolbarsOnly
[in] TRUE para agregar solo nombres de barra de herramientas al menú; FALSE en caso contrario.

CDockingManager::CalcExpectedDockedRect

Calcula el rectángulo esperado de una ventana acoplada.

void CalcExpectedDockedRect(
    CWnd* pWnd,
    CPoint ptMouse,
    CRect& rectResult,
    BOOL& bDrawTab,
    CDockablePane** ppTargetBar);

Parámetros

pWnd
[in] Puntero a la ventana que se va a acoplar.

ptMouse
[in] Ubicación del mouse.

rectResult
[out] Rectángulo calculado.

bDrawTab
[in] TRUE para dibujar una pestaña; en caso contrario, FALSE.

ppTargetBar
[out] Un puntero a un puntero al panel de destino.

Comentarios

Este método calcula el rectángulo que ocuparía una ventana si un usuario arrastrase la ventana hasta el punto especificado por ptMouse y la acoplara allí.

CDockingManager::Create

Crea un administrador de acoplamiento.

BOOL Create(CFrameWnd* pParentWnd);

Parámetros

pParentWnd
[in] Puntero al marco primario del administrador de acoplamiento. Este valor no debe ser NULL.

Valor devuelto

Siempre es TRUE.

CDockingManager::DeterminePaneAndStatus

Determina el panel que contiene un punto determinado y su estado de acoplamiento.

virtual AFX_CS_STATUS DeterminePaneAndStatus(
    CPoint pt,
    int nSensitivity,
    DWORD dwEnabledAlignment,
    CBasePane** ppTargetBar,
    const CBasePane* pBarToIgnore,
    const CBasePane* pBarToDock);

Parámetros

pt
[in] Ubicación del panel que se va a comprobar.

nSensitivity
[in] Valor en que se va a aumentar el rectángulo de la ventana de cada panel comprobado. Un panel satisface los criterios de búsqueda si el punto especificado está en esta región aumentada.

dwEnabledAlignment
[in] Alineación del panel de acoplamiento.

ppTargetBar
[out] Un puntero a un puntero al panel de destino.

pBarToIgnore
[in] Panel que el método omite.

pBarToDock
[in] Panel acoplado.

Valor devuelto

Estado de acoplamiento.

Comentarios

El estado del indizador puede ser uno de los valores siguientes:

AFX_CS_STATUS (valor) Significado
CS_NOTHING El puntero no se encuentra sobre un sitio de acoplamiento. Por lo tanto, mantenga el panel flotante.
CS_DOCK_IMMEDIATELY El puntero se encuentra sobre el sitio de acoplamiento en el modo inmediato (el estilo DT_IMMEDIATE está habilitado), por lo que el panel debe acoplarse inmediatamente.
CS_DELAY_DOCK El puntero se encuentra sobre un sitio de acoplamiento que es otro panel de acoplamiento o es un borde del marco principal.
CS_DELAY_DOCK_TO_TAB El puntero está sobre un sitio de acoplamiento que hace que el panel se acople a una ventana con pestañas. Esto ocurre cuando el mouse está sobre un título de otro panel de acoplamiento o sobre un área de pestañas de un panel con pestañas.

CDockingManager::DisableRestoreDockState

Habilita o deshabilita la carga del diseño de acoplamiento desde el registro.

void DisableRestoreDockState(BOOL bDisable = TRUE);

Parámetros

bDisable
[in] TRUE para deshabilitar la carga del diseño de acoplamiento desde el registro; de lo contrario, FALSE.

Comentarios

Llame a este método cuando deba conservar el diseño actual de los paneles de acoplamiento y las barras de herramientas cuando se cargue el estado de la aplicación.

CDockingManager::DockPane

Acopla un panel a otro panel o a una ventana de marco.

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

Parámetros

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

nDockBarID
[in] Identificador de la barra que se va a acoplar.

lpRect
[in] Rectángulo de destino.

CDockingManager::DockPaneLeftOf

Acopla un panel a la izquierda de otro panel.

BOOL DockPaneLeftOf(
    CPane* pBarToDock,
    CPane* pTargetBar);

Parámetros

pBarToDock
[in] Puntero al panel que se va a acoplar a la izquierda de pTargetBar.

pTargetBar
[in] Puntero al panel de destino.

Valor devuelto

TRUE si el panel se acopla correctamente; de lo contrario, FALSE.

CDockingManager::EnableAutoHidePanes

Habilita el acoplamiento del panel en el marco principal, crea un panel de acoplamiento y lo agrega a la lista de barras de control.

BOOL EnableAutoHidePanes(DWORD dwStyle);

Parámetros

dwStyle
[in] Alineación de acoplamiento.

Valor devuelto

TRUE si el panel de acoplamiento se creó correctamente; FALSE en caso contrario.

CDockingManager::EnableDocking

Crea un panel de acoplamiento y habilita el acoplamiento del panel en el marco principal.

BOOL EnableDocking(DWORD dwStyle);

Parámetros

dwStyle
[in] Alineación de acoplamiento.

Valor devuelto

TRUE si el panel de acoplamiento se creó correctamente; FALSE en caso contrario.

CDockingManager::EnableDockSiteMenu

Muestra un botón adicional que abre un menú emergente en los títulos de todos los paneles de acoplamiento.

static void EnableDockSiteMenu(BOOL bEnable = TRUE);

Parámetros

bEnable
[in] TRUE para habilitar el menú del sitio de acoplamiento; de lo contrario, FALSE.

Comentarios

El menú del sitio de acoplamiento muestra las siguientes opciones para cambiar el estado de acoplamiento del panel:

  • Floating - Hace que un panel sea flotante.

  • Docking - Acopla un panel en el marco principal en la ubicación donde el panel se acopla por última vez.

  • AutoHide - Cambia el panel al modo de ocultación automática.

  • Hide - Oculta un panel.

De forma predeterminada, este menú no se muestra.

CDockingManager::EnablePaneContextMenu

Indica a la biblioteca que muestre un menú contextual especial que tenga una lista de barras de herramientas de aplicación y paneles de acoplamiento cuando el usuario haga clic en el botón derecho del mouse y la biblioteca esté procesando el mensaje de WM_CONTEXTMENU.

void EnablePaneContextMenu(
    BOOL bEnable,
    UINT uiCustomizeCmd,
    const CString& strCustomizeText,
    BOOL bToolbarsOnly = FALSE);

Parámetros

bEnable
[in] Si es TRUE, la biblioteca activa la compatibilidad con el menú contextual automático; si es FALSE, la biblioteca desactiva la compatibilidad con el menú contextual automático.

uiCustomizeCmd
[in] Identificador de comando del elemento Personalizar en el menú.

strCustomizeText
[in] Texto del elemento Personalizar .

bToolbarsOnly
[in] Si es TRUE, el menú muestra solo una lista de barras de herramientas de aplicaciones; si es FALSE, la biblioteca agrega paneles de acoplamiento de aplicaciones a esta lista.

CDockingManager::FindDockSite

Recupera el panel de barras que se encuentra en la posición especificada y que tiene la alineación especificada.

virtual CDockSite* FindDockSite(
    DWORD dwAlignment,
    BOOL bOuter);

Parámetros

dwAlignment
[in] Alineación del panel de barras.

bOuter
[in] Si es TRUE, recupera la barra en la posición principal de la lista de barras de control. De lo contrario, recupera la barra en la posición de cola en la lista de barras de control.

Valor devuelto

Panel de acoplamiento que tiene la alineación especificada; NULL en caso contrario.

CDockingManager::FindPaneByID

Busca un panel por el identificador de control especificado.

virtual CBasePane* FindPaneByID(
    UINT uBarID,
    BOOL bSearchMiniFrames = FALSE);

Parámetros

uBarID
[in] Especifica el identificador de control del panel que se va a buscar.

bSearchMiniFrames
[in] TRUE para incluir todos los paneles flotantes en la búsqueda. FALSE para incluir solo los paneles acoplados.

Valor devuelto

Objeto CBasePane que tiene el identificador de control especificado, o NULL si no se encuentra el panel especificado.

Comentarios

CDockingManager::FindDockSiteByPane

Devuelve el panel de barras que tiene el identificador del panel de barras de destino.

virtual CDockSite* FindDockSiteByPane(CPane* pTargetBar);

Parámetros

pTargetBar
[in] Puntero al panel de barras de destino.

Valor devuelto

Panel de barras que tiene el identificador del panel de barras de destino; NULL si no existe este panel de barras.

CDockingManager::FixupVirtualRects

Confirma todas las posiciones de la barra de herramientas actuales en rectángulos virtuales.

virtual void FixupVirtualRects();

Comentarios

Cuando el usuario comienza a arrastrar una barra de herramientas, la aplicación recuerda su posición original en el rectángulo virtual. Cuando el usuario mueve una barra de herramientas a través de su sitio de acoplamiento, la barra de herramientas puede desplazar otras barras de herramientas. Las posiciones originales de las demás barras de herramientas se almacenan en los rectángulos virtuales correspondientes.

CDockingManager::FrameFromPoint

Devuelve el panel que contiene el punto especificado.

virtual CPaneFrameWnd* FrameFromPoint(
    CPoint pt,
    CPaneFrameWnd* pFrameToExclude,
    BOOL bFloatMultiOnly) const;

Parámetros

pt
[in] Especifica el punto, en coordenadas de pantalla, que se va a comprobar.

pFrameToExclude
[in] Puntero a un marco que se va a excluir.

bFloatMultiOnly
[in] TRUE para excluir fotogramas que no son instancias de CMultiPaneFrameWnd; FALSE en caso contrario.

Valor devuelto

El marco que contiene el punto especificado; NULL en caso contrario.

CDockingManager::GetClientAreaBounds

Obtiene el rectángulo que contiene los límites del área de cliente.

CRect GetClientAreaBounds() const;

void GetClientAreaBounds(CRect& rcClient);

Parámetros

rcClient
[out] Una referencia al rectángulo que contiene los límites del área de cliente.

Valor devuelto

El rectángulo que contiene los límites del área de cliente.

CDockingManager::GetDockingMode

Devuelve el modo de acoplamiento actual.

static AFX_DOCK_TYPE GetDockingMode();

Valor devuelto

Valor de enumerador que representa el modo de acoplamiento actual. Puede ser uno de los siguientes valores:

  • DT_STANDARD

  • DT_IMMEDIATE

  • DT_SMART

Comentarios

Para establecer el modo de acoplamiento, llame a CDockingManager::SetDockingMode.

CDockingManager::GetDockSiteFrameWnd

Obtiene un puntero al marco de la ventana primaria.

CFrameWnd* GetDockSiteFrameWnd() const;

Valor devuelto

Un puntero al marco de la ventana primaria.

CDockingManager::GetEnabledAutoHideAlignment

Devuelve la alineación habilitada de los paneles.

DWORD GetEnabledAutoHideAlignment() const;

Valor devuelto

Combinación bit a bit de marcas de CBRS_ALIGN_ o 0 si los paneles de ocultación automática no están habilitados. Para obtener más información, vea CFrameWnd::EnableDocking.

Comentarios

El método devuelve la alineación habilitada para las barras de control de ocultación automática. Para habilitar barras de ocultación automática, llame a CFrameWndEx::EnableAutoHidePanes.

CDockingManager::GetMiniFrames

Obtiene una lista de minimarcos.

const CObList& GetMiniFrames() const;

Valor devuelto

Lista de minimarcos que contienen las barras de control que pertenecen al administrador de acoplamiento.

CDockingManager::GetOuterEdgeBounds

Obtiene un rectángulo que contiene los bordes externos del marco.

CRect GetOuterEdgeBounds() const;

Valor devuelto

Un rectángulo que contiene los bordes externos del marco.

CDockingManager::GetPaneList

Devuelve una lista de paneles que pertenecen al administrador de acoplamiento. Esto incluye todos los paneles flotantes.

void GetPaneList(
    CObList& lstBars,
    BOOL bIncludeAutohide = FALSE,
    CRuntimeClass* pRTCFilter = NULL,
    BOOL bIncludeTabs = FALSE);

Parámetros

lstBars
[in, out] Contiene todos los paneles del administrador de acoplamiento actual.

bIncludeAutohide
[in] TRUE para incluir los paneles que están en modo de ocultación automática; de lo contrario, FALSE.

pRTCFilter
[in] Si no es NULL, la lista devuelta contiene solo paneles de la clase de runtime especificada.

bIncludeTabs
[in] TRUE para incluir pestañas; de lo contrario, FALSE.

Comentarios

Si hay paneles con pestañas en el administrador de acoplamiento, el método devuelve punteros a objetos CBaseTabbedPane (clase) y debe enumerar las pestañas explícitamente.

Use pRTCFilter para obtener una clase determinada de paneles. Por ejemplo, solo puede obtener barras de herramientas estableciendo este valor correctamente.

CDockingManager::GetSmartDockingManager

Recupera un puntero al administrador de acoplamiento inteligente.

CSmartDockingManager* GetSmartDockingManager();

Valor devuelto

Un puntero al administrador de acoplamiento inteligente.

CDockingManager::GetSmartDockingManagerPermanent

Recupera un puntero al administrador de acoplamiento inteligente.

CSmartDockingManager* GetSmartDockingManagerPermanent() const;

Valor devuelto

Un puntero al administrador de acoplamiento inteligente.

CDockingManager::GetSmartDockingParams

Devuelve los parámetros de acoplamiento inteligente para el administrador de acoplamiento.

static CSmartDockingInfo& GetSmartDockingParams();

Valor devuelto

Clase que contiene los parámetros de acoplamiento inteligente para el administrador de acoplamiento actual. Para obtener más información, vea CSmartDockingInfo (clase).

Comentarios

CDockingManager::HideAutoHidePanes

Oculta un panel que está en modo de ocultación automática.

void HideAutoHidePanes(
    CDockablePane* pBarToExclude = NULL,
    BOOL bImmediately = FALSE);

Parámetros

pBarToExclude
[in] Puntero a una barra que se va a excluir de la ocultación.

bImmediately
[in] TRUE para ocultar el panel inmediatamente; FALSE para ocultar el panel con el efecto de ocultación automática.

CDockingManager::InsertDockSite

Crea un panel de acoplamiento y lo inserta en la lista de barras de control.

BOOL InsertDockSite(
    const AFX_DOCKSITE_INFO& info,
    DWORD dwAlignToInsertAfter,
    CDockSite** ppDockBar = NULL);

Parámetros

info
[in] Estructura que contiene la información de alineación sobre el panel de acoplamiento.

dwAlignToInsertAfter
[in] Alineación del panel de acoplamiento.

ppDockBar
[out] Un puntero a un puntero a un panel de acoplamiento.

Valor devuelto

TRUE si el panel de acoplamiento se creó correctamente; FALSE en caso contrario.

CDockingManager::InsertPane

Inserta un panel de control en la lista de barras de control.

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

Parámetros

pControlBar
[in] Puntero a un panel de control.

pTarget
[in] Puntero al panel de destino.

bAfter
[in] TRUE para insertar el panel después de la posición del panel de destino; FALSE en caso contrario.

Valor devuelto

TRUE si el panel de control se agrega correctamente a la lista de barras de control; FALSE en caso contrario.

Comentarios

Este método devuelve FALSE si el panel de control ya está en la lista de barras de control o si el panel de destino no existe en la lista de barras de control.

CDockingManager::IsDockSiteMenu

Especifica si se muestra un menú emergente en los títulos de todos los paneles.

static BOOL IsDockSiteMenu();

Valor devuelto

TRUE si se muestra un menú de sitio de acoplamiento en los títulos de todos los paneles de acoplamiento; en caso contrario, FALSE.

Comentarios

Puede habilitar el menú del sitio de acoplamiento llamando a CDockingManager::EnableDockSiteMenu.

CDockingManager::IsInAdjustLayout

Determina si se ajustan los diseños de todos los paneles.

BOOL IsInAdjustLayout() const;

Valor devuelto

TRUE si se ajustan los diseños de todos los paneles; FALSE en caso contrario.

CDockingManager::IsOLEContainerMode

Especifica si el administrador de acoplamiento está en modo de contenedor OLE.

BOOL IsOLEContainerMode() const;

Valor devuelto

TRUE si el administrador de acoplamiento está en modo contenedor OLE; de lo contrario, FALSE.

Comentarios

En el modo contenedor OLE, se ocultan todos los paneles de acoplamiento y las barras de herramientas de la aplicación. Los paneles también se ocultan en este modo si ha establecido CDockingManager::m_bHideDockingBarsInContainerMode en TRUE.

CDockingManager::IsPointNearDockSite

Determina si un punto especificado está cerca del sitio de acoplamiento.

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

Parámetros

point
[in] El punto especificado.

dwBarAlignment
[out] Especifica el borde que está cerca del punto. Los valores posibles son CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP y CBRS_ALIGN_BOTTOM.

bOuterEdge
[out] TRUE si el punto está cerca del borde exterior del sitio de acoplamiento; de lo contrario, FALSE.

Valor devuelto

TRUE si el punto está cerca del sitio de acoplamiento; de lo contrario, FALSE.

CDockingManager::IsPrintPreviewValid

Determina si se establece el modo de vista previa de impresión.

BOOL IsPrintPreviewValid() const;

Valor devuelto

TRUE si se establece el modo de vista previa de impresión; FALSE en caso contrario.

CDockingManager::LoadState

Carga el estado del panel desde el registro.

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    UINT uiID = (UINT) -1);

Parámetros

lpszProfileName
[in] Nombre del perfil.

uiID
[in] Identificador del administrador de acoplamiento.

Valor devuelto

TRUE si el estado del panel se cargó correctamente; de lo contrario, FALSE.

CDockingManager::LockUpdate

Bloquea la ventana especificada.

void LockUpdate(BOOL bLock);

Parámetros

bLock
[in] TRUE si la ventana está bloqueada; FALSE en caso contrario.

Comentarios

Cuando se bloquea una ventana, no se puede mover y no se puede volver a dibujar.

CDockingManager::m_bHideDockingBarsInContainerMode

Especifica si el administrador de acoplamiento oculta paneles en el modo de contenedor OLE.

AFX_IMPORT_DATA static BOOL m_bHideDockingBarsInContainerMode;

Comentarios

Establezca este valor en FALSE si desea mantener todos los paneles acoplados al marco principal visible cuando la aplicación está en modo contenedor OLE. Este valor es TRUE de forma predeterminada.

CDockingManager::m_dockModeGlobal

Especifica el modo de acoplamiento global.

AFX_IMPORT_DATA static AFX_DOCK_TYPE m_dockModeGlobal;

Comentarios

De forma predeterminada, cada panel de acoplamiento usa este modo de acoplamiento. Para obtener más información sobre los valores en los que se puede establecer este campo, vea CBasePane::GetDockingMode.

CDockingManager::m_nDockSensitivity

Especifica la sensibilidad de acoplamiento.

AFX_IMPORT_DATA static int m_nDockSensitivity;

Comentarios

La sensibilidad de acoplamiento define la proximidad de un panel flotante a un panel de acoplamiento, un sitio de acoplamiento u otro panel antes de que el marco cambie su estado a acoplado.

CDockingManager::m_nTimeOutBeforeDockingBarDock

Especifica el tiempo, en milisegundos, antes de acoplar un panel de acoplamiento en modo de acoplamiento inmediato.

static UINT m_nTimeOutBeforeDockingBarDock;

Comentarios

Antes de acoplar un panel, el marco espera el período de tiempo especificado. Esto impide que el panel se acopla accidentalmente a una ubicación mientras el usuario la arrastra.

CDockingManager::m_nTimeOutBeforeToolBarDock

Especifica el tiempo, en milisegundos, antes de acoplar una barra de herramientas a la ventana de marco principal.

static UINT m_nTimeOutBeforeToolBarDock;

Comentarios

Antes de acoplar un panel, el marco espera el período de tiempo especificado. Esto impide que el panel se acopla accidentalmente a una ubicación mientras el usuario la arrastra.

CDockingManager::OnActivateFrame

El marco llama a este método cuando la ventana de marco se activa o desactiva.

virtual void OnActivateFrame(BOOL bActivate);

Parámetros

bActivate
[in] Si es TRUE, la ventana de marco se activa; si es FALSE, se desactiva la ventana de marco.

CDockingManager::OnClosePopupMenu

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

void OnClosePopupMenu();

Comentarios

El marco envía un mensaje de WM_DESTROY cuando está a punto de cerrar la ventana principal actual. Invalide este método para controlar las notificaciones de objetos CMFCPopupMenu que pertenecen a la ventana de marco cuando un objeto CMFCPopupMenu procesa un mensaje de WM_DESTROY.

CDockingManager::OnMoveMiniFrame

El marco llama a este método para mover una ventana minimarco.

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Parámetros

pFrame
[in] Puntero a una ventana minimarco.

Valor devuelto

TRUE si este método se realiza correctamente; de lo contrario, FALSE.

CDockingManager::OnPaneContextMenu

El marco llama a este método cuando crea un menú que tiene una lista de paneles.

void OnPaneContextMenu(CPoint point);

Parámetros

point
[in] Especifica la ubicación del menú.

CDockingManager::PaneFromPoint

Devuelve el panel que contiene el punto especificado.

virtual CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    bool bExactBar = false,
    CRuntimeClass* pRTCBarType = NULL,
    BOOL bCheckVisibility = FALSE,
    const CBasePane* pBarToIgnore = NULL) const;

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

Parámetros

point
[in] Especifica el punto, en coordenadas de pantalla, que se va a comprobar.

nSensitivity
[in] Valor en que se va a aumentar el rectángulo de la ventana de cada panel comprobado. Un panel satisface los criterios de búsqueda si el punto especificado está en esta región aumentada.

bExactBar
[in] TRUE para omitir el parámetro nSensitivity; de lo contrario, FALSE.

pRTCBarType
[in] Si no es NULL, el método solo busca paneles del tipo especificado.

bCheckVisibility
[in] TRUE para comprobar solo los paneles visibles; de lo contrario, FALSE.

dwAlignment
[out] Si se encuentra un panel en el punto especificado, este parámetro contiene el lado del panel más cercano al punto especificado. Para obtener más información, vea la sección Comentarios.

pBarToIgnore
[in] Si no es NULL, el método omite los paneles especificados por este parámetro.

Valor devuelto

Objeto derivado de CBasePane que contiene el punto dado, o bien NULL si no se encontró ningún panel.

Comentarios

Cuando se devuelve la función y se encuentra un panel, dwAlignment contiene la alineación del punto especificado. Por ejemplo, si el punto estaba más cercano a la parte superior del panel, dwAlignment se establece en CBRS_ALIGN_TOP.

CDockingManager::ProcessPaneContextMenuCommand

El marco llama a este método para activar o desactivar una casilla para el comando especificado y recalcular el diseño de un panel mostrado.

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

Parámetros

Nid
[in] Identificador de una barra de control en el menú.

nCode
[in] Código de notificación del comando.

pExtra
[in] Puntero a void que se convierte en un puntero a CCmdUI si nCode es CN_UPDATE_COMMAND_UI.

pHandlerInfo
[in] Puntero a una estructura de información. Este parámetro no se utiliza.

Valor devuelto

TRUE si pEXtra no es NULL y nCode es igual a CN_UPDATE_COMMAND_UI, o si hay una barra de control con el nID especificado.

CDockingManager::RecalcLayout

Vuelve a calcular el diseño interno de los controles presentes en la lista de controles.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parámetros

bNotify
[in] Este parámetro no se utiliza.

CDockingManager::ReleaseEmptyPaneContainers

Libera los contenedores de panel vacíos.

void ReleaseEmptyPaneContainers();

CDockingManager::RemoveHiddenMDITabbedBar

Quita el panel de barras ocultas especificado.

void RemoveHiddenMDITabbedBar(CDockablePane* pBar);

Parámetros

pBar
[in] Puntero a un panel de barras que se va a quitar.

CDockingManager::RemoveMiniFrame

Quita un marco especificado de la lista de minimarcos.

virtual BOOL RemoveMiniFrame(CPaneFrameWnd* pWnd);

Parámetros

pWnd
[in] Puntero a un marco que se va a quitar.

Valor devuelto

TRUE si se quita el marco especificado; FALSE en caso contrario.

CDockingManager::RemovePaneFromDockManager

Anula el registro de un panel y lo quita de la lista del administrador de acoplamiento.

void RemovePaneFromDockManager(
    CBasePane* pWnd,
    BOOL bDestroy,
    BOOL bAdjustLayout,
    BOOL bAutoHide = FALSE,
    CBasePane* pBarReplacement = NULL);

Parámetros

pWnd
[in] Puntero a un panel que se va a quitar.

bDestroy
[in] Si es TRUE, se destruye el panel quitado.

bAdjustLayout
[in] Si es TRUE, ajuste el diseño de acoplamiento de inmediato.

bAutoHide
[in] Si es TRUE, el panel se quita de la lista de barras de ocultación automática. Si es FALSE, el panel se quita de la lista de paneles normales.

pBarReplacement
[in] Puntero a un panel que reemplaza al panel quitado.

CDockingManager::ReplacePane

Reemplaza un panel con otro.

BOOL ReplacePane(
    CDockablePane* pOriginalBar,
    CDockablePane* pNewBar);

Parámetros

pOriginalBar
[in] Puntero al panel original.

pNewBar
[in] Puntero al panel que reemplaza el panel original.

Valor devuelto

TRUE si el panel se reemplaza correctamente; FALSE en caso contrario.

CDockingManager::ResortMiniFramesForZOrder

Recurre a los marcos en la lista de minimarcos.

void ResortMiniFramesForZOrder();

CDockingManager::SaveState

Guarda el estado del administrador de acoplamiento en el registro.

virtual BOOL SaveState(
    LPCTSTR lpszProfileName = NULL,
    UINT uiID = (UINT) -1);

Parámetros

lpszProfileName
[in] Ruta de acceso de una clave del Registro.

uiID
[in] Identificador del administrador de acoplamiento.

Valor devuelto

TRUE si el estado se guardó correctamente; de lo contrario, FALSE.

Comentarios

Guardar el estado del administrador de acoplamiento en el registro implica guardar los estados de las barras de control, los estados de las barras de ocultación automática y los estados de los minimarcos presentes en el administrador de acoplamiento.

CDockingManager::SendMessageToMiniFrames

Envía el mensaje especificado a todos los minimarcos.

BOOL SendMessageToMiniFrames(
    UINT uMessage,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parámetros

uMessage
[in] El mensaje que se va a enviar.

wParam
[in] Información adicional dependiente del mensaje.

lParam
[in] Información adicional dependiente del mensaje.

Valor devuelto

Siempre es TRUE.

CDockingManager::Serialize

Escribe el administrador de acoplamiento en un archivo.

void Serialize(CArchive& ar);

Parámetros

Ar
[in] Referencia a un objeto de archivo.

Comentarios

Escribir el administrador de acoplamiento en un archivo implica determinar el número de barras de control de acoplamiento y controles deslizantes, y escribir las barras de control, los minimarcos, las barras de ocultación automática y las barras con pestañas MDI en el archivo.

CDockingManager::SetAutohideZOrder

Establece el tamaño, el ancho y el alto de las barras de control y el panel especificado.

void SetAutohideZOrder(CDockablePane* pAHDockingBar);

Parámetros

pAHDockingBar
[in] Puntero a un panel acoplable.

CDockingManager::SetDockingMode

Establece el modo de acoplamiento.

static void SetDockingMode(
    AFX_DOCK_TYPE dockMode,
    AFX_SMARTDOCK_THEME theme = AFX_SDT_DEFAULT);

Parámetros

dockMode
Especifica el nuevo modo de acoplamiento. Para obtener más información, vea la sección Comentarios.

theme
Especifica el tema que se va a usar para los marcadores de acoplamiento inteligente. Puede ser uno de los siguientes valores enumerados: AFX_SDT_DEFAULT, AFX_SDT_VS2005, AFX_SDT_VS2008.

Comentarios

Llame a este método estático para establecer el modo de acoplamiento.

dockMode puede tener uno de los valores siguientes:

  • DT_STANDARD: modo de acoplamiento estándar, tal como se implementa en Visual Studio .NET 2003. Los paneles se arrastran sin un contexto de arrastre.

  • DT_IMMEDIATE: modo de acoplamiento inmediato, tal como se implementa en Microsoft Visio. Los paneles se arrastran con un contexto de arrastre, pero no se muestran marcadores.

  • DT_SMART: modo de acoplamiento inteligente, tal como se implementa en Visual Studio 2005. Los paneles se arrastran con un contexto de arrastre y se muestran marcadores inteligentes que indican dónde se puede acoplar el panel.

CDockingManager::SetDockState

Establece el estado de acoplamiento de las barras de control, los minimarcos y las barras de ocultación automática.

virtual void SetDockState();

CDockingManager::SetPrintPreviewMode

Establece el modo de vista previa de impresión de las barras que se muestran en la vista previa de impresión.

void SetPrintPreviewMode(
    BOOL bPreview,
    CPrintPreviewState* pState);

Parámetros

bPreview
[in] TRUE si se establece el modo de vista previa de impresión; FALSE en caso contrario.

pState
[in] Puntero a un estado de vista previa. Este parámetro no se utiliza.

CDockingManager::SetSmartDockingParams

Establece los parámetros que definen el comportamiento del acoplamiento inteligente.

static void SetSmartDockingParams(CSmartDockingInfo& params);

Parámetros

params
[in, out] Define los parámetros para el acoplamiento inteligente.

Comentarios

Llame a este método si desea personalizar la apariencia, el color o la forma de los marcadores de acoplamiento inteligente.

Para usar la búsqueda predeterminada de marcadores de acoplamiento inteligente, pase una instancia no inicializada de CSmartDockingInfo (clase) a params.

CDockingManager::ShowDelayShowMiniFrames

Muestra u oculta las ventanas de los minimarcos.

void ShowDelayShowMiniFrames(BOOL bshow);

Parámetros

bShow
[in] TRUE para activar la ventana del marco mostrado; FALSE para ocultar la ventana del marco.

CDockingManager::ShowPanes

Muestra u oculta los paneles del control y las barras de ocultación automática.

virtual BOOL ShowPanes(BOOL bShow);

Parámetros

bShow
[in] TRUE para mostrar los paneles; FALSE para ocultar los paneles.

Valor devuelto

Siempre FALSE.

CDockingManager::StartSDocking

Inicia el acoplamiento inteligente de la ventana especificada según la alineación del administrador de acoplamiento inteligente.

void StartSDocking(CWnd* pDockingWnd);

Parámetros

pDockingWnd
[in] Puntero a una ventana que se va a acoplar.

CDockingManager::StopSDocking

Detiene el acoplamiento inteligente.

void StopSDocking();

CDockingManager::GetSmartDockingTheme

Método estático que devuelve un tema usado para mostrar marcadores de acoplamiento inteligente.

static AFX_SMARTDOCK_THEME __stdcall GetSmartDockingTheme();

Valor devuelto

Devuelve uno de los siguientes valores enumerados: AFX_SDT_DEFAULT, AFX_SDT_VS2005, AFX_SDT_VS2008.

Comentarios

Consulte también

Gráfico de jerarquías
Clases
CObject (clase)
CFrameWndEx (clase)
CDockablePane (clase)
CPaneFrameWnd (clase)