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
:
CDockingManager (clase) admite estos modos de acoplamiento:
AFX_DOCK_TYPE::DT_IMMEDIATE
AFX_DOCK_TYPE::DT_STANDARD
AFX_DOCK_TYPE::DT_SMART
Estos modos de acoplamiento se definen mediante CDockingManager::m_dockModeGlobal y se establecen llamando a CDockingManager::SetDockingMode.
Si desea crear un panel que no sea flotante ni redimensionable, llame al método CDockingManager::AddPane. Este método registra el panel con el administrador de acoplamiento, que es responsable del diseño del panel.
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
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)