Compartir a través de


Clase CDockablePane

Implementa un panel que se puede acoplar en un sitio de vinculación o incluir en un panel con fichas.

Sintaxis

class CDockablePane : public CPane

Miembros

Constructores públicos

Nombre Descripción
CDockablePane::CDockablePane Construye e inicializa un objeto CDockablePane.

Métodos públicos

Nombre Descripción
CDockablePane::AttachToTabWnd Adjunta un panel a otro panel. Esto crea un panel con fichas.
CDockablePane::CalcFixedLayout Devuelve el tamaño del rectángulo del panel.
CDockablePane::CanAcceptMiniFrame Determina si el minimarco especificado se puede acoplar al panel.
CDockablePane::CanAcceptPane Determina si se puede acoplar otro panel al panel actual.
CDockablePane::CanAutoHide Determina si el panel admite el modo de ocultación automática. (Invalida CBasePane::CanAutoHide).
CDockablePane::CanBeAttached Determina si el panel actual se puede acoplar a otro panel.
CDockablePane::ConvertToTabbedDocument Convierte uno o varios paneles acoplables en documentos con fichas de MDI.
CDockablePane::CopyState Copia el estado de un panel acoplable.
CDockablePane::Create Crea el control de Windows y lo adjunta al objeto CDockablePane.
CDockablePane::CreateDefaultPaneDivider Crea un divisor predeterminado para el panel al acoplarlo a una ventana de marco.
CDockablePane::CreateEx Crea el control de Windows y lo adjunta al objeto CDockablePane.
CDockablePane::CreateTabbedPane Crea un panel con fichas desde el panel actual.
CDockablePane::DockPaneContainer Acopla un contenedor al panel.
CDockablePane::DockPaneStandard Acopla un panel mediante el acoplamiento de contorno (estándar).
CDockablePane::DockToFrameWindow Utilizado de forma interna. Para acoplar un panel, use CPane::DockPane o CDockablePane::DockToWindow.
CDockablePane::DockToRecentPos Acopla un panel a su posición de acoplamiento reciente almacenada.
CDockablePane::DockToWindow Acopla un panel de acoplamiento a otro panel de acoplamiento.
CDockablePane::EnableAutohideAll Habilita o deshabilita el modo de ocultación automática para este panel junto con otros paneles del contenedor.
CDockablePane::EnableGripper Muestra u oculta el título (barra de redimensionamiento).
CDockablePane::GetAHRestoredRect Especifica la posición del panel cuando está visible en modo de ocultación automática.
CDockablePane::GetAHSlideMode Recupera el modo deslizante de ocultación automática para el panel.
CDockablePane::GetAutoHideButton Utilizado de forma interna.
CDockablePane::GetAutoHideToolBar Utilizado de forma interna.
CDockablePane::GetCaptionHeight Devuelve la altura del título actual.
CDockablePane::GetDefaultPaneDivider Devuelve el divisor de panel predeterminado para el contenedor del panel.
CDockablePane::GetDockingStatus Determina la capacidad de acoplar un panel en función de la ubicación del puntero proporcionada.
CDockablePane::GetDragSensitivity Devuelve la sensibilidad de arrastre de un panel de acoplamiento.
CDockablePane::GetLastPercentInPaneContainer Recupera el porcentaje de espacio que ocupa un panel dentro de su contenedor.
CDockablePane::GetTabArea Recupera el área de fichas del panel.
CDockablePane::GetTabbedPaneRTC Devuelve la información de clase en tiempo de ejecución sobre una ventana con fichas que se crea cuando otro panel se acopla al panel actual.
CDockablePane::HasAutoHideMode Especifica si un panel de acoplamiento se puede cambiar al modo de ocultación automática.
CDockablePane::HitTest Especifica la ubicación específica en un panel donde el usuario hace clic con un mouse.
CDockablePane::IsAccessibilityCompatible Utilizado de forma interna.
CDockablePane::IsAutohideAllEnabled Indica si el panel de acoplamiento y todos los demás paneles del contenedor se pueden colocar en modo de ocultación automática.
CDockablePane::IsAutoHideMode Determina si un panel está en modo de ocultación automática.
CDockablePane::IsChangeState Utilizado de forma interna.
CDockablePane::IsDocked Determina si el panel actual está acoplado.
CDockablePane::IsHideInAutoHideMode Determina el comportamiento de un panel que está en modo de ocultación automática, si se muestra (u oculta) mediante una llamada a ShowPane.
CDockablePane::IsInFloatingMultiPaneFrameWnd Especifica si el panel está en una ventana de marco de varios panel.
CDockablePane::IsResizable Especifica si el panel se puede cambiar de tamaño.
CDockablePane::IsTabLocationBottom Especifica si las fichas se encuentran en la parte superior o inferior del panel.
CDockablePane::IsTracked Especifica si el usuario arrastra un panel.
CDockablePane::IsVisible Determina si el panel actual está visible.
CDockablePane::LoadState Utilizado de forma interna.
CDockablePane::OnAfterChangeParent Lo llama el marco cuando el elemento primario de un panel ha cambiado. (Invalida CPane::OnAfterChangeParent).
CDockablePane::OnAfterDockFromMiniFrame Lo llama el marco cuando una barra de acoplamiento flotante se acopla a una ventana de marco.
CDockablePane::OnBeforeChangeParent Lo llama el marco cuando el elemento primario del panel está a punto de cambiar. (Invalida CPane::OnBeforeChangeParent).
CDockablePane::OnBeforeFloat Llamado por el marco cuando un panel está a punto de flotar. (Invalida CPane::OnBeforeFloat).
CDockablePane::RemoveFromDefaultPaneDividier El marco llama a este método cuando se desacopla un panel.
CDockablePane::ReplacePane Reemplaza el panel por un panel especificado.
CDockablePane::RestoreDefaultPaneDivider El marco llama a este método cuando se deserializa un panel para restaurar el divisor de panel predeterminado.
CDockablePane::SaveState Utilizado de forma interna.
CDockablePane::Serialize Serializa el panel. (Invalida CBasePane::Serialize).
CDockablePane::SetAutoHideMode Alterna el panel de acoplamiento entre el modo visible y de ocultación automática.
CDockablePane::SetAutoHideParents Establece el botón y la barra de herramientas de ocultación automática para el panel.
CDockablePane::SetDefaultPaneDivider Utilizado de forma interna.
CDockablePane::SetLastPercentInPaneContainer Establece el porcentaje de espacio que ocupa un panel dentro de su contenedor.
CDockablePane::SetResizeMode Utilizado de forma interna.
CDockablePane::SetRestoredDefaultPaneDivider Establece el divisor de panel predeterminado restaurado.
CDockablePane::SetTabbedPaneRTC Establece la información de clase en tiempo de ejecución para una ventana con fichas que se crea cuando dos paneles se acoplan.
CDockablePane::ShowPane Muestra u oculta un panel.
CDockablePane::Slide Muestra u oculta un panel con una animación deslizante que solo se muestra cuando el panel está en modo de ocultación automática.
CDockablePane::ToggleAutoHide Cambia el modo de ocultación automática. (Invalida CPane::ToggleAutoHide).
CDockablePane::UndockPane Desacopla un panel de la ventana de marco principal o un contenedor de ventanas minimarco.
CDockablePane::UnSetAutoHideMode Utilizado de forma interna. Para establecer el modo de ocultación automática, use CDockablePane::SetAutoHideMode.

Métodos protegidos

Nombre Descripción
CDockablePane::CheckAutoHideCondition Determina si el panel de acoplamiento está oculto (en modo de ocultación automática).
CDockablePane::CheckStopSlideCondition Determina cuándo un panel de acoplamiento de ocultación automática debe dejar de deslizarse.
CDockablePane::DrawCaption Dibuja el título del panel de acoplamiento (barra de redimensionamiento).
CDockablePane::OnPressButtons Se llama cuando el usuario presiona un botón de título distinto de los botones AFX_HTCLOSE y AFX_HTMAXBUTTON.
CDockablePane::OnSlide Lo llama el marco para representar el efecto deslizante de ocultación automática cuando se muestra u oculta el panel.

Miembros de datos

Nombre Descripción
CDockablePane::m_bDisableAnimation Especifica si la animación de ocultación automática del panel acoplable está deshabilitada.
CDockablePane::m_bHideInAutoHideMode Determina el comportamiento del panel cuando el panel está en modo de ocultación automática.
CDockablePane::m_nSlideSteps Especifica la velocidad de la animación del panel cuando se muestra u oculta si está en modo de ocultación automática.

Comentarios

CDockablePane implementa la siguiente funcionalidad:

  • Acoplar un panel a una ventana de marco principal.

  • Cambiar un panel al modo de ocultación automática.

  • Adjuntar un panel a una ventana con fichas.

  • Hacer flotante un panel en una ventana minimarco.

  • Acoplar un panel a otro panel que es flotante en una ventana minimarco.

  • Cambiar el tamaño de un panel.

  • Cargar y guardar el estado de un panel de acoplamiento.

    Nota:

    La información de estado se guarda en el Registro de Windows.

  • Crear un panel con o sin un título. El título puede tener una etiqueta de texto y se puede rellenar con un color degradado.

  • Arrastrar un panel mientras se muestra el contenido del panel.

  • Arrastrar un panel mientras se muestra un rectángulo de arrastre.

Para usar un panel de acoplamiento en la aplicación, derive la clase de panel de la clase CDockablePane. Inserte el objeto derivado en el objeto de ventana de marco principal o en un objeto de ventana que controla la instancia del panel. A continuación, llame al método CDockablePane::Create o al método CDockablePane::CreateEx al procesar el mensaje WM_CREATE en la ventana de marco principal. Por último, configure el objeto de panel mediante una llamada a CBasePane::EnableDocking, CBasePane::DockPane o CDockablePane::AttachToTabWnd.

Sugerencias de personalización

Las siguientes sugerencias se aplican a los objetos CDockablePane:

  • Si llama a CDockablePane::AttachToTabWnd para dos paneles acoplables sin fichas, se devolverá un puntero a una ventana con fichas en el parámetro ppTabbedControlBar. Puede seguir agregando fichas a la ventana con fichas mediante este parámetro.

  • El tipo de panel con fichas creado por CDockablePane::AttachToTabWnd viene determinado por el objeto CDockablePane del parámetro pTabControlBarAttachTo. Puede llamar a CDockablePane::SetTabbedPaneRTC para establecer el tipo de panel con fichas que CDockablePane creará. El tipo predeterminado viene determinado por dwTabbedStyle de CDockablePane::Create cuando se crea CDockablePane por primera vez. Si dwTabbedStyle es AFX_CBRS_OUTLOOK_TABS, el tipo predeterminado es la clase CMFCOutlookBar; si dwTabbedStyle es AFX_CBRS_REGULAR_TABS, el tipo predeterminado es la clase CTabbedPane.

  • Si quiere acoplar un panel acoplable a otro, llame al método CDockablePane::DockToWindow. El panel original debe acoplarse en algún lugar antes de llamar a este método.

  • La variable miembro CDockablePane::m_bHideInAutoHideMode controla cómo se comportan los paneles acoplables en modo de ocultación automática al llamar a CDockablePane::ShowPane. Si esta variable miembro se establece en TRUE, se ocultarán los paneles acoplables y sus botones de ocultación automática. De lo contrario, se deslizarán hacia dentro y hacia fuera.

  • Puede deshabilitar la animación de ocultación automática estableciendo la variable miembro CDockablePane::m_bDisableAnimation en TRUE.

Ejemplo

En el ejemplo siguiente se muestra cómo configurar un objeto CDockablePane mediante varios métodos de la clase CDockablePane. En el ejemplo se muestra cómo habilitar la característica de ocultar automáticamente todo para el panel acoplable, habilitar el título o la barra de redimensionamiento, habilitar el modo de ocultación automática, mostrar el panel y animar un panel que se encuentra en modo de ocultación automática. Este fragmento de código forma parte del ejemplo de demostración de Visual Studio.

// GetOwner is an inherited method.
CDockablePane *pParentBar = DYNAMIC_DOWNCAST(CDockablePane, GetOwner());
pParentBar->EnableAutohideAll();
pParentBar->EnableGripper(true);
pParentBar->SetAutoHideMode(true, CBRS_ALIGN_LEFT);
pParentBar->ShowPane(true, false, true);
pParentBar->Slide(true);

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

Requisitos

EncabezadoafxDockablePane.h:

CDockablePane::AttachToTabWnd

Adjunta el panel actual a un panel de destino, creando un panel con fichas.

virtual CDockablePane* AttachToTabWnd(
    CDockablePane* pTabControlBarAttachTo,
    AFX_DOCK_METHOD dockMethod,
    BOOL bSetActive= TRUE,
    CDockablePane** ppTabbedControlBar = NULL);

Parámetros

pTabControlBarAttachTo
[in, out] Especifica el panel de destino al que se adjunta el panel actual. El panel de destino debe ser un panel acoplable.

dockMethod
[in] Especifica el método de acoplamiento.

bSetActive
[in] TRUE para activar el panel con fichas después de la operación de adjuntar; de lo contrario, FALSE.

ppTabbedControlBar
[out] Contiene el panel con fichas que resulta de la operación de adjuntar.

Valor devuelto

Puntero al panel actual, si no es un panel con fichas; de lo contrario, un puntero al panel con fichas resultante de la operación de adjuntar. El valor devuelto es NULL si el panel actual no se puede adjuntar o si se produce un error.

Comentarios

Cuando un panel acoplable se adjunta a otro mediante este método, se produce lo siguiente:

  1. El marco comprueba si el panel de destino pTabControlBarAttachTo es un panel de acoplamiento normal o si se deriva de CBaseTabbedPane.

  2. Si el panel de destino es un panel con fichas, el marco agrega el panel actual como una ficha.

  3. Si el panel de destino es un panel de acoplamiento normal, el marco crea un panel con fichas.

    • El marco llama a pTabControlBarAttachTo->CreateTabbedPane. El estilo del nuevo panel con fichas depende del miembro m_pTabbedControlBarRTC. De forma predeterminada, este miembro se establece en la clase en tiempo de ejecución de CTabbedPane. Si pasa el estilo AFX_CBRS_OUTLOOK_TABS como el parámetro dwTabbedStyle al método CDockablePane::Create, el objeto de clase en tiempo de ejecución se establece en la clase en tiempo de ejecución de CMFCOutlookBar. Puede cambiar este miembro en cualquier momento para cambiar el estilo del nuevo panel.

    • Cuando este método crea un panel con fichas, el marco invalida el puntero a pTabControlBarAttachTo (si el panel está acoplado o es flotante en una ventana de varios minimarcos) por un puntero al nuevo panel con fichas.

    • El marco agrega el panel pTabControlBarAttachTo al panel con fichas como la primera ficha. A continuación, el marco agrega el panel actual como segunda ficha.

  4. Si el panel actual se deriva de CBaseTabbedPane, todas sus fichas se mueven a pTabControlBarAttachTo y el panel actual se destruye. Por lo tanto, tenga cuidado al llamar a este método, ya que un puntero al panel actual puede no ser válido en la devolución del método.

Si asocia un panel a otro al crear un diseño de acoplamiento, establezca dockMethod en DM_SHOW.

Debe acoplar el primer panel antes de adjuntarlo a otro panel.

CDockablePane::CalcFixedLayout

Devuelve el tamaño del rectángulo del panel.

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parámetros

bStretch
[in] No se utiliza.

bHorz
[in] No se utiliza.

Valor devuelto

Objeto CSize que contiene el tamaño del rectángulo del panel.

CDockablePane::CanAcceptMiniFrame

Determina si el minimarco especificado se puede acoplar al panel.

virtual BOOL CanAcceptMiniFrame(CPaneFrameWnd* pMiniFrame) const;

Parámetros

pMiniFrame
[In] Puntero en un objeto CPaneFrameWnd.

Valor devuelto

TRUE si pMiniFrame se puede acoplar al panel; de lo contrario, FALSE.

CDockablePane::CanAcceptPane

Determina si se puede acoplar otro panel al panel actual.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Parámetros

pBar
[in] Especifica el panel que se va a acoplar al panel actual.

Valor devuelto

TRUE si el panel especificado se puede acoplar a este panel; de lo contrario, FALSE.

Comentarios

El marco llama a este método antes de acoplar un panel al panel actual.

Invalide esta función en una clase derivada para habilitar o deshabilitar el acoplamiento a un panel específico.

De forma predeterminada, este método devuelve TRUE si o pBar su elemento primario es de tipo CDockablePane.

CDockablePane::CanAutoHide

Determina si el panel puede ocultarse automáticamente.

virtual BOOL CanAutoHide() const;

Valor devuelto

TRUE si el panel puede ocultarse automáticamente; de lo contrario, FALSE.

Comentarios

CDockablePane::CanAutoHide devuelve FALSE en cualquiera de las situaciones siguientes:

  • El panel no tiene ningún elemento primario.

  • El administrador de acoplamiento no permite que los paneles se oculten automáticamente.

  • El panel no está acoplado.

CDockablePane::CanBeAttached

Determina si el panel actual se puede acoplar a otro panel.

virtual BOOL CanBeAttached() const;

Valor devuelto

TRUE si el panel acoplable se puede acoplar a otro panel o a la ventana de marco principal; de lo contrario, FALSE.

Comentarios

De forma predeterminada, este método siempre devuelve TRUE. Invalide este método en una clase derivada para habilitar o deshabilitar el acoplamiento sin llamar a CBasePane::EnableDocking.

CDockablePane::CDockablePane

Construye e inicializa un objeto CDockablePane.

CDockablePane();

Comentarios

Después de construir un objeto de panel acoplable, llame a CDockablePane::Create o CDockablePane::CreateEx para crearlo.

CDockablePane::ConvertToTabbedDocument

Convierte uno o varios paneles acoplables en documentos con fichas de MDI.

virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);

Parámetros

bActiveTabOnly
[in] Al convertir un elemento CTabbedPane, especifique TRUE para convertir solo la ficha activa. Especifique FALSE para convertir todas las fichas del panel.

CDockablePane::CheckAutoHideCondition

Determina si el panel de acoplamiento se oculta (también conocido como modo de ocultación automática).

virtual BOOL CheckAutoHideCondition();

Valor devuelto

TRUE si se cumple la condición de ocultación; en caso contrario, FALSE.

Comentarios

El marco usa un temporizador para comprobar periódicamente si se debe ocultar un panel acoplable de ocultación automática. El método devuelve TRUE cuando el panel no está activo, no se está cambiando de tamaño del panel y el puntero del mouse no se encuentra sobre el panel.

Si se cumplen todas las condiciones anteriores, el marco llama a CDockablePane::Slide para ocultar el panel.

CDockablePane::CheckStopSlideCondition

Determina cuándo un panel de acoplamiento de ocultación automática debe dejar de deslizarse.

virtual BOOL CheckStopSlideCondition(BOOL bDirection);

Parámetros

bDirection
[in] TRUE si el panel está visible; FALSE si el panel está oculto.

Valor devuelto

TRUE si se cumple la condición de detención; en caso contrario, FALSE.

Comentarios

Cuando un panel acoplable se establece en modo de ocultación automática, el marco usa efectos deslizantes para mostrar u ocultar el panel. El marco llama a esta función cuando el panel se está deslizando. CheckStopSlideCondition devuelve TRUE cuando el panel está totalmente visible u oculto.

Invalide este método en una clase derivada para implementar efectos de ocultación automática personalizados.

CDockablePane::CopyState

Copia el estado de un panel acoplable.

virtual void CopyState(CDockablePane* pOrgBar);

Parámetros

pOrgBar
[in] Puntero a un panel acoplable.

Comentarios

CDockablePane::CopyState copia el estado de pOrgBar en el panel actual llamando a los métodos siguientes:

CDockablePane::Create

Crea el control de Windows y lo adjunta al objeto CDockablePane.

virtual BOOL Create(
    LPCTSTR lpszCaption,
    CWnd* pParentWnd,
    const RECT& rect,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
    CCreateContext* pContext = NULL);

virtual BOOL Create(
    LPCTSTR lpszWindowName,
    CWnd* pParentWnd,
    CSize sizeDefault,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle = WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_HIDE_INPLACE,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE);

Parámetros

lpszCaption
[in] Especifica el nombre de ventana.

pParentWnd
[in, out] Especifica la ventana primaria.

rect
[in] Especifica el tamaño y la posición de la ventana, en las coordenadas de cliente de pParentWnd.

bHasGripper
[in] TRUE para crear el panel con un título; de lo contrario, FALSE.

nID
[in] Especifica el id. de la ventana secundaria. Este valor debe ser único si quiere guardar el estado de acoplamiento para este panel de acoplamiento.

dwStyle
[in] Especifica los atributos de estilo de ventana.

dwTabbedStyle
[in] Especifica el estilo con fichas de una ventana con fichas que se crea cuando el usuario arrastra un panel en el título de este panel.

dwControlBarStyle
[in] Especifica atributos de estilo adicionales.

pContext
[in, out] Especifica el contexto de creación de la ventana.

lpszWindowName
[in] Especifica el nombre de ventana.

sizeDefault
[in] Especifica el tamaño de la ventana.

Valor devuelto

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

Comentarios

Crea un panel de Windows y lo asocia al objeto CDockablePane.

Si el estilo de ventana dwStyle tiene la marca CBRS_FLOAT_MULTI, la ventana minimarco puede ser flotante con otros paneles de la ventana minimarco. De forma predeterminada, los paneles de acoplamiento solo pueden flotar individualmente.

Si el parámetro dwTabbedStyle tiene especificada la marca AFX_CBRS_OUTLOOK_TABS, el panel crea paneles con fichas de estilo Outlook cuando se adjunta otro panel a este panel mediante el método CDockablePane::AttachToTabWnd. De forma predeterminada, los paneles acoplables crean paneles con fichas normales de tipo CTabbedPane.

CDockablePane::CreateDefaultPaneDivider

Crea un divisor predeterminado para el panel al acoplarlo a una ventana de marco.

static CPaneDivider* __stdcall CreateDefaultPaneDivider(
    DWORD dwAlignment,
    CWnd* pParent,
    CRuntimeClass* pSliderRTC = NULL);

Parámetros

dwAlignment
[in] Especifica el lado del marco principal al que se acopla el panel. Si dwAlignment contiene la marca CBRS_ALIGN_LEFT o CBRS_ALIGN_RIGHT, este método crea un divisor vertical (CPaneDivider::SS_VERT); de lo contrario, este método crea un divisor horizontal (CPaneDivider::SS_HORZ).

pParent
[in] Puntero al marco primario.

pSliderRTC
[in] No se utiliza.

Valor devuelto

Este método devuelve un puntero al divisor recién creado, o NULL si se produce un error en la creación del divisor.

Comentarios

dwAlignment puede ser cualquiera de los siguientes valores:

Valor Descripción
CBRS_ALIGN_TOP El panel se acopla a la parte superior del área cliente de una ventana de marco.
CBRS_ALIGN_BOTTOM El panel se acopla a la parte inferior del área cliente de una ventana de marco.
CBRS_ALIGN_LEFT El panel se acopla al lado izquierdo del área cliente de una ventana de marco.
CBRS_ALIGN_RIGHT El panel se acopla al lado derecho del área cliente de una ventana de marco.

CDockablePane::CreateEx

Crea el control de Windows y lo adjunta al objeto CDockablePane.

virtual BOOL CreateEx(
    DWORD dwStyleEx,
    LPCTSTR lpszCaption,
    CWnd* pParentWnd,
    const RECT& rect,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
    CCreateContext* pContext = NULL);

Parámetros

dwStyleEx
[in] Especifica los atributos de estilo extendido para la nueva ventana.

lpszCaption
[in] Especifica el nombre de ventana.

pParentWnd
[in, out] Especifica la ventana primaria.

rect
[in] Especifica el tamaño y la posición de la ventana, en las coordenadas de cliente de pParentWnd.

bHasGripper
[in] TRUE para crear el panel con un título; de lo contrario, FALSE.

nID
[in] Especifica el id. de la ventana secundaria. Este valor debe ser único si quiere guardar el estado de acoplamiento para este panel de acoplamiento.

dwStyle
[in] Especifica los atributos de estilo de ventana.

dwTabbedStyle
[in] Especifica el estilo con fichas de una ventana con fichas que se crea cuando el usuario arrastra un panel en el título de este panel.

dwControlBarStyle
[in] Especifica los atributos de estilo adicionales.

pContext
[in, out] Especifica el contexto de creación de la ventana.

Valor devuelto

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

Comentarios

Crea un panel de Windows y lo asocia al objeto CDockablePane.

Si el estilo de ventana dwStyle tiene la marca CBRS_FLOAT_MULTI, la ventana minimarco puede ser flotante con otros paneles de la ventana minimarco. De forma predeterminada, los paneles de acoplamiento solo pueden flotar individualmente.

Si el parámetro dwTabbedStyle tiene especificada la marca AFX_CBRS_OUTLOOK_TABS, el panel crea paneles con fichas de estilo Outlook cuando se adjunta otro panel a este panel mediante el método CDockablePane::AttachToTabWnd. De forma predeterminada, los paneles acoplables crean paneles con fichas normales de tipo CTabbedPane.

CDockablePane::CreateTabbedPane

Crea un panel con fichas desde el panel actual.

virtual CTabbedPane* CreateTabbedPane();

Valor devuelto

El nuevo panel con fichas, o NULL si se produjo un error en la operación de creación.

Comentarios

El marco llama a este método cuando crea un panel con fichas para reemplazar a este panel. Para obtener más información, vea CDockablePane::AttachToTabWnd.

Invalide este método en una clase derivada para personalizar cómo se crean e inicializan los paneles con fichas.

El panel con fichas se crea según la información de clase en tiempo de ejecución almacenada en el miembro m_pTabbedControlBarRTC, que se inicializa mediante el método CDockablePane::CreateEx.

CDockablePane::DockPaneContainer

Acopla un contenedor al panel.

virtual BOOL DockPaneContainer(
    CPaneContainerManager& barContainerManager,
    DWORD dwAlignment,
    AFX_DOCK_METHOD dockMethod);

Parámetros

barContainerManager
[in] Referencia al administrador de contenedores del contenedor que se está acoplando.

dwAlignment
[in] DWORD que especifica el lado del panel al que se acopla el contenedor.

dockMethod
[in] No se utiliza.

Valor devuelto

TRUE si el contenedor se acopló correctamente al panel; de lo contrario, FALSE.

Comentarios

dwAlignment puede ser cualquiera de los siguientes valores:

Valor Descripción
CBRS_ALIGN_TOP El contenedor se acopla a la parte superior del panel.
CBRS_ALIGN_BOTTOM El contenedor se acopla a la parte inferior del panel.
CBRS_ALIGN_LEFT El contenedor se acopla a la izquierda del panel.
CBRS_ALIGN_RIGHT El contenedor se acopla a la derecha del panel.

CDockablePane::DockPaneStandard

Acopla un panel mediante el acoplamiento de contorno (estándar).

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

Parámetros

bWasDocked
[in] En la devolución del método, este valor contiene TRUE si el panel se ha acoplado correctamente; de lo contrario, contiene FALSE.

Valor devuelto

Si el panel se ha acoplado a una ventana con fichas, o si se ha creado una ventana con fichas como resultado del acoplamiento, este método devuelve un puntero a la ventana con fichas. Si el panel se ha acoplado correctamente de otra manera, este método devuelve el puntero this. Si se produjo un error de acoplamiento, este método devuelve NULL.

CDockablePane::DockToRecentPos

Acopla un panel a su posición de acoplamiento almacenada.

BOOL CDockablePane::DockToRecentPos();

Valor devuelto

TRUE si el panel está acoplado correctamente; de lo contrario, FALSE.

Comentarios

Los paneles acoplables almacenan la información de acoplamiento reciente en un objeto CRecentDockSiteInfo.

CDockablePane::DockToWindow

Acopla un panel de acoplamiento a otro panel de acoplamiento.

virtual BOOL DockToWindow(
    CDockablePane* pTargetWindow,
    DWORD dwAlignment,
    LPCRECT lpRect = NULL);

Parámetros

pTargetWindow
[in, out] Especifica el panel acoplable al que se acopla este panel.

dwAlignment
[in] Especifica la alineación de acoplamiento para el panel. Puede ser CBRS_ALIGN_LEFT, CBRS_ALIGN_TOP, CBRS_ALIGN_RIGHT, CBRS_ALIGN_BOTTOM o CBRS_ALIGN_ANY. (Definido en afxres.h).

lpRect
[in] Especifica el rectángulo de acoplamiento para el panel.

Valor devuelto

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

Comentarios

Llame a este método para acoplar un panel a otro con la alineación especificada por dwAlignment.

CDockablePane::DrawCaption

Dibuja el título (también denominado barra de redimensionamiento) de un panel de acoplamiento.

virtual void DrawCaption(
    CDC* pDC,
    CRect rectCaption);

Parámetros

pDC
[in] Representa el contexto de dispositivo usado para dibujar.

rectCaption
[in] Especifica el rectángulo delimitador del título del panel.

Comentarios

El marco llama a este método para dibujar el título de un panel acoplable.

Invalide este método en una clase derivada para personalizar la apariencia del título.

CDockablePane::EnableAutohideAll

Habilita o deshabilita el modo de ocultación automática para este panel y para otros paneles del contenedor.

void EnableAutohideAll(BOOL bEnable = TRUE);

Parámetros

bEnable
[in] TRUE para habilitar la característica de ocultar automáticamente todo para el panel acoplable; de lo contrario, FALSE.

Comentarios

Cuando un usuario mantiene presionada la tecla Ctrl y hace clic en el botón de anclaje para cambiar un panel al modo de ocultación automática, todos los demás paneles del mismo contenedor también se cambian al modo de ocultación automática.

Llame a este método con el elemento bEnable establecido en FALSE para deshabilitar esta característica para un panel determinado.

CDockablePane::EnableGripper

Muestra u oculta el título (también denominado barra de redimensionamiento).

virtual void EnableGripper(BOOL bEnable);

Parámetros

bEnable
[in] TRUE para habilitar el título; de lo contrario, FALSE.

Comentarios

Cuando el marco crea paneles acoplables, no tienen el estilo de ventana WS_STYLE, incluso si se especifica. Esto significa que el título del panel es un área no de cliente, controlada por el marco, pero esta área difiere del título de la ventana estándar.

Puede mostrar u ocultar el título en cualquier momento. El marco oculta el título cuando se agrega un panel como una ficha a una ventana con fichas o cuando un panel es flotante en una ventana minimarco.

CDockablePane::GetAHRestoredRect

Especifica la posición del panel cuando está en modo de ocultación automática.

CRect GetAHRestoredRect() const;

Valor devuelto

Objeto CRect que contiene la posición del panel cuando está en modo de ocultación automática.

Comentarios

CDockablePane::GetAHSlideMode

Recupera el modo deslizante de ocultación automática para el panel.

virtual UINT GetAHSlideMode() const;

Valor devuelto

UINT que especifica el modo deslizante de ocultación automática para el panel. El valor devuelto puede ser AFX_AHSM_MOVE o AFX_AHSM_STRETCH, pero la implementación solo usa AFX_AHSM_MOVE.

Comentarios

CDockablePane::GetCaptionHeight

Devuelve la altura, en píxeles, del título actual.

virtual int GetCaptionHeight() const;

Valor devuelto

La altura del título, en píxeles.

Comentarios

La altura del título es 0 si el título se oculta por el método CDockablePane::EnableGripper o si el panel no tiene un título.

CDockablePane::GetDefaultPaneDivider

Devuelve el divisor de panel predeterminado para el contenedor del panel.

CPaneDivider* GetDefaultPaneDivider() const;

Valor devuelto

Objeto CPaneDivider válido si el panel acoplable está acoplado a la ventana de marco principal, o NULL si el panel acoplable no está acoplado o si es flotante.

Comentarios

Para más información sobre los divisores de panel, vea Clase CPaneDivider.

CDockablePane::GetDockingStatus

Determina la capacidad de acoplar un panel en función de la ubicación del puntero proporcionada.

virtual AFX_CS_STATUS GetDockingStatus(
    CPoint pt,
    int nSensitivity);

Parámetros

pt
[in] Ubicación del puntero en coordenadas de pantalla.

nSensitivity
[in] Distancia, en píxeles, desde el borde de un rectángulo, a la que el puntero debe estar para habilitar el acoplamiento.

Valor devuelto

Uno de los siguientes valores de estado:

Valor de AFX_CS_STATUS Significado
CS_NOTHING El puntero no se encuentra sobre un sitio de acoplamiento. El marco no acopla el panel.
CS_DOCK_IMMEDIATELY El puntero se encuentra sobre el sitio de acoplamiento en modo inmediato (el panel usa el modo de acoplamiento DT_IMMEDIATE). El marco acopla el panel 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. El marco acopla el panel después de un retraso. Vea la sección Comentarios para más información sobre este retraso.
CS_DELAY_DOCK_TO_TAB El puntero se encuentra sobre un sitio de acoplamiento que hace que el panel se acople a una ventana con fichas. Esto ocurre cuando el puntero se encuentra sobre el título de otro panel de acoplamiento o sobre el área de fichas de un panel con fichas.

Comentarios

El marco llama a este método para controlar el acoplamiento de un panel flotante.

En el caso de las barras de herramientas flotantes o paneles de acoplamiento que usan el modo de acoplamiento DT_IMMEDIATE, el marco retrasa el comando de acoplamiento para permitir que el usuario mueva la ventana fuera del área cliente del marco primario antes de que se produzca el acoplamiento. La duración del retraso se mide en milisegundos y se controla mediante el miembro de datos CDockingManager::m_nTimeOutBeforeToolBarDock. El valor predeterminado de CDockingManager::m_nTimeOutBeforeToolBarDock es 200. Este comportamiento emula el comportamiento de acoplamiento de Microsoft Word 2007.

En el caso de los estados de acoplamiento retrasados (CS_DELAY_DOCK y CS_DELAY_DOCK_TO_TAB), el marco no realiza el acoplamiento hasta que el usuario suelta el botón del mouse. Si un panel usa el modo de acoplamiento DT_STANDARD, el marco muestra un rectángulo en la ubicación de acoplamiento proyectada. Si un panel usa el modo de acoplamiento DT_SMART, el marco muestra marcadores de acoplamiento inteligente y rectángulos semitransparentes en la ubicación de acoplamiento proyectada. Para especificar el modo de acoplamiento para el panel, llame al método CBasePane::SetDockingMode. Para más información sobre el acoplamiento inteligente, vea CDockingManager::GetSmartDockingParams.

CDockablePane::GetDragSensitivity

Devuelve la sensibilidad de arrastre de un panel de acoplamiento.

static const CSize& GetDragSensitivity();

Valor devuelto

Objeto CSize que contiene el ancho y el alto, en píxeles, de un rectángulo centrado en un punto de arrastre. La operación de arrastre no comienza hasta que el puntero del mouse se mueve fuera de este rectángulo.

CDockablePane::GetLastPercentInPaneContainer

Recupera el porcentaje de espacio que ocupa un panel en su contenedor (clase CPaneContainer).

int GetLastPercentInPaneContainer() const;

Valor devuelto

int que especifica el porcentaje de espacio que ocupa el panel en su contenedor.

Comentarios

Este método se usa cuando el contenedor ajusta su diseño.

CDockablePane::GetTabArea

Recupera el área de fichas del panel.

virtual void GetTabArea(
    CRect& rectTabAreaTop,
    CRect& rectTabAreaBottom) const;

Parámetros

rectTabAreaTop
[in] GetTabArea rellena esta variable con el área de fichas si estas se encuentran en la parte superior del panel. Si las fichas se encuentran en la parte inferior del panel, esta variable se rellena con un rectángulo vacío.

rectTabAreaBottom
[in] GetTabArea rellena esta variable con el área de fichas si estas se encuentran en la parte inferior del panel. Si las fichas se encuentran en la parte superior del panel, esta variable se rellena con un rectángulo vacío.

Comentarios

Este método solo se usa en las clases que se derivan de CDockablePane y tienen fichas. Para obtener más información, vea CTabbedPane::GetTabArea y CMFCOutlookBar::GetTabArea.

CDockablePane::GetTabbedPaneRTC

Devuelve la información de clase en tiempo de ejecución sobre una ventana con fichas que se crea cuando otro panel se acopla al panel actual.

CRuntimeClass* GetTabbedPaneRTC() const;

Valor devuelto

Información de clase en tiempo de ejecución del panel acoplable.

Comentarios

Llame a este método para recuperar la información de clase en tiempo de ejecución de los paneles con fichas que se crean dinámicamente. Esto puede ocurrir cuando un usuario arrastra un panel al título de otro panel, o si llama al método CDockablePane::AttachToTabWnd para crear mediante programación un panel con fichas a partir de dos paneles acoplables.

Puede establecer la información de clase en tiempo de ejecución llamando al método CDockablePane::SetTabbedPaneRTC.

CDockablePane::HasAutoHideMode

Especifica si un panel de acoplamiento se puede cambiar al modo de ocultación automática.

virtual BOOL HasAutoHideMode() const;

Valor devuelto

TRUE si el panel acoplable se puede cambiar al modo de ocultación automática; de lo contrario, FALSE.

Comentarios

Invalide este método en una clase derivada para deshabilitar el modo de ocultación automática para un panel acoplable específico.

CDockablePane::HitTest

Especifica la ubicación en un panel donde el usuario hace clic con un mouse.

virtual int HitTest(
    CPoint point,
    BOOL bDetectCaption = FALSE);

Parámetros

point
[in] Especifica el punto que se va a probar.

bDetectCaption
[in] TRUE si se debe devolver HTCAPTION si el punto se encuentra en el título del panel; de lo contrario, FALSE.

Valor devuelto

Uno de los valores siguientes:

  • HTNOWHERE si point no está en el panel acoplable.

  • HTCLIENT si point está en el área cliente del panel acoplable.

  • HTCAPTION si point está en el área de título del panel acoplable.

  • AFX_HTCLOSE si point está en el botón Cerrar.

  • HTMAXBUTTON si point está en el botón Anclar.

CDockablePane::IsAutohideAllEnabled

Indica si el panel de acoplamiento y todos los demás paneles del contenedor se pueden cambiar al modo de ocultación automática.

virtual BOOL IsAutohideAllEnabled() const;

Valor devuelto

TRUE si el panel acoplable y todos los demás paneles del contenedor se pueden cambiar al modo de ocultación automática; de lo contrario, FALSE.

Comentarios

El usuario habilita el modo de ocultación automática haciendo clic en el botón de anclaje de acoplamiento mientras mantiene presionada la tecla Ctrl.

Para habilitar o deshabilitar este comportamiento, llame al método CDockablePane::EnableAutohideAll.

CDockablePane::IsAutoHideMode

Determina si un panel está en modo de ocultación automática.

virtual BOOL IsAutoHideMode() const;

Valor devuelto

TRUE si el panel acoplable está en modo de ocultación automática; de lo contrario, FALSE.

CDockablePane::IsDocked

Determina si el panel actual está acoplado.

virtual BOOL IsDocked() const;

Valor devuelto

TRUE si el panel acoplable no pertenece a una ventana minimarco o si está flotante en una ventana minimarco con otro panel. FALSE si el panel es un elemento secundario de una ventana minimarco y no hay otros paneles que pertenezcan a la ventana minimarco.

Comentarios

Para determinar si el panel está acoplado a la ventana de marco principal, llame a CDockablePane::GetDefaultPaneDivider. Si el método devuelve un puntero distinto de NULL, el panel se acopla en la ventana de marco principal.

CDockablePane::IsHideInAutoHideMode

Determina el comportamiento de un panel que está en modo de ocultación automática, si se muestra (u oculta) mediante una llamada a CDockablePane::ShowPane.

virtual BOOL IsHideInAutoHideMode() const;

Valor devuelto

TRUE si el panel acoplable debe ocultarse cuando está en modo de ocultación automática; de lo contrario, FALSE.

Comentarios

Cuando un panel acoplable está en modo de ocultación automática, se comporta de forma diferente cuando se llama a ShowPane para ocultar o mostrar el panel. Este comportamiento se controla mediante la propiedad CDockablePane::m_bHideInAutoHideMode. Si este miembro es TRUE, el panel acoplable y su barra de herramientas de ocultación automática relacionada o el botón de ocultación automática se ocultan o muestran al llamar a ShowPane. De lo contrario, el panel acoplable se activa o desactiva, y su barra de herramientas de ocultación automática relacionada o el botón de ocultación automática siempre están visibles.

Invalide este método en una clase derivada para cambiar el comportamiento predeterminado de los paneles individuales.

El valor predeterminado de m_bHideInAutoHideMode es FALSE.

CDockablePane::IsInFloatingMultiPaneFrameWnd

Especifica si el panel está en una ventana de marco de varios panel (CMultiPaneFrameWnd Class).

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

Valor devuelto

TRUE si el panel está en una ventana de marco de varios paneles; de lo contrario, FALSE.

Comentarios

CDockablePane::IsResizable

Especifica si el panel se puede cambiar de tamaño.

virtual BOOL IsResizable() const;

Valor devuelto

TRUE si el panel es redimensionable; de lo contrario, FALSE.

Comentarios

De forma predeterminada, los paneles acoplables se pueden cambiar de tamaño. Para evitar el cambio de tamaño, invalide este método en una clase derivada y devuelva FALSE. Tenga en cuenta que un valor FALSE conduce a un error ASSERT en CPane::DockPane. Use CDockingManager::AddPane en su lugar para acoplar un panel dentro de un marco primario.

Los paneles que no se pueden cambiar de tamaño no pueden flotar ni entrar en modo de ocultación automática y siempre se encuentran en el borde exterior del marco primario.

CDockablePane::IsTabLocationBottom

Especifica si las fichas se encuentran en la parte superior o inferior del panel.

virtual BOOL IsTabLocationBottom() const;

Valor devuelto

TRUE si las fichas se encuentran en la parte inferior del panel; FALSE si las fichas se encuentran en la parte superior del panel.

Comentarios

Para obtener más información, vea CTabbedPane::IsTabLocationBottom.

CDockablePane::IsTracked

Especifica si el usuario mueve un panel.

BOOL IsTracked() const;

Valor devuelto

TRUE si el panel se está moviendo; de lo contrario, FALSE.

CDockablePane::IsVisible

Determina si el panel actual está visible.

virtual BOOL IsVisible() const;

Valor devuelto

TRUE si el panel acoplable está visible; en caso contrario, FALSE.

Comentarios

Llame a este método para determinar si un panel acoplable está visible. Puede usar este método en lugar de llamar a CWnd::IsWindowVisible o de probar el estilo WS_VISIBLE. El estado de visibilidad devuelto depende de si el modo de ocultación automática está habilitado o deshabilitado y del valor de la propiedad CDockablePane::IsHideInAutoHideMode.

Si el panel acoplable está en modo de ocultación automática y IsHideInAutoHideMode devuelve FALSE, el estado de visibilidad siempre es FALSE.

Si el panel acoplable está en modo de ocultación automática y IsHideInAutoHideMode devuelve TRUE, el estado de visibilidad depende del estado de visibilidad de la barra de herramientas de ocultación automática relacionada.

Si el panel acoplable no está en modo de ocultación automática, el estado de visibilidad viene determinado por el método CBasePane::IsVisible.

## CDockablePane::LoadState

Para uso interno únicamente. Para obtener información más detallada, consulte el código fuente ubicado en la carpeta mfc de la instalación de Visual Studio. Por ejemplo, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

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

CDockablePane::m_bDisableAnimation

Especifica si la animación de ocultación automática del panel acoplable está deshabilitada.

AFX_IMPORT_DATA static BOOL m_bDisableAnimation;

CDockablePane::m_bHideInAutoHideMode

Determina el comportamiento del panel cuando el panel está en modo de ocultación automática.

AFX_IMPORT_DATA static BOOL m_bHideInAutoHideMode;

Comentarios

Este valor afecta a todos los paneles de acoplamiento de la aplicación.

Si establece este miembro en TRUE, los paneles acoplables se ocultan o se muestran con sus barras de herramientas y botones de ocultación automática relacionados al llamar a CDockablePane::ShowPane.

Si establece este miembro en FALSE, los paneles acoplables se activan o desactivan al llamar a CDockablePane::ShowPane.

CDockablePane::m_nSlideSteps

Especifica la velocidad de la animación del panel cuando está en modo de ocultación automática.

AFX_IMPORT_DATA static int m_nSlideSteps;

Comentarios

Para un efecto de animación más rápido, reduzca este valor. Para un efecto de animación más lento, aumente este valor.

CDockablePane::OnAfterChangeParent

Para obtener información más detallada, consulte el código fuente ubicado en la carpeta mfc de la instalación de Visual Studio. Por ejemplo, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

virtual void OnAfterChangeParent(CWnd* pWndOldParent);

Parámetros

[in] pWndOldParent\

Comentarios

CDockablePane::OnAfterDockFromMiniFrame

Lo llama el marco cuando una barra de acoplamiento flotante se acopla a una ventana de marco.

virtual void OnAfterDockFromMiniFrame();

Comentarios

De forma predeterminada, este método no hace nada.

CDockablePane::OnBeforeChangeParent

El marco llama a este método antes de cambiar el elemento primario del panel.

virtual void OnBeforeChangeParent(
    CWnd* pWndNewParent,
    BOOL bDelay = FALSE);

Parámetros

pWndNewParent
[in] Un puntero a la nueva ventana primaria.

bDelay
[in] BOOL que especifica si se debe retrasar el recálculo del diseño de acoplamiento si el panel se desacopla. Para obtener más información, vea CDockablePane::UndockPane.

Comentarios

Si el panel está acoplado y el nuevo elemento primario no permite el acoplamiento, este método desacopla el panel.

Si el panel se convierte en un documento con fichas, este método almacena su posición de acoplamiento reciente. El marco usa la posición de acoplamiento reciente para restaurar la posición del panel cuando se convierte de nuevo a un estado acoplado.

CDockablePane::OnBeforeFloat

El marco llama a este método antes de que un panel pase a un estado flotante.

virtual BOOL OnBeforeFloat(
    CRect& rectFloat,
    AFX_DOCK_METHOD dockMethod);

Parámetros

rectFloat
[in] Especifica la posición y el tamaño del panel cuando está en un estado flotante.

dockMethod
[in] Especifica el método de acoplamiento. Consulte CPane::DockPane para obtener una lista de posibles valores.

Valor devuelto

TRUE si el panel puede ser flotante; de lo contrario, FALSE.

Comentarios

El marco llama a este método cuando un panel está a punto de ser flotante. Puede invalidar este método en una clase derivada si quiere realizar cualquier procesamiento antes de que el panel esté flotante.

CDockablePane::OnPressButtons

Se llama cuando el usuario presiona un botón de título distinto de los botones AFX_HTCLOSE y AFX_HTMAXBUTTON.

virtual void OnPressButtons(UINT nHit);

Parámetros

nHit
[in] Este parámetro no se usa.

Comentarios

Si agrega un botón personalizado al título de un panel acoplable, invalide este método para recibir notificaciones cuando un usuario presione el botón.

CDockablePane::OnSlide

Lo llama el marco para animar el panel cuando se encuentra en modo de ocultación automática.

virtual void OnSlide(BOOL bSlideOut);

Parámetros

bSlideOut
[in] TRUE para mostrar el panel; FALSE para ocultar el panel.

Comentarios

Invalide este método en una clase derivada para implementar efectos de ocultación automática personalizados.

CDockablePane::RemoveFromDefaultPaneDividier

El marco llama a este método cuando se desacopla un panel.

void RemoveFromDefaultPaneDividier();

Comentarios

Este método establece el divisor de panel predeterminado en NULL y quita el panel de su contenedor.

CDockablePane::ReplacePane

Reemplaza el panel por un panel especificado.

BOOL ReplacePane(
    CDockablePane* pBarToReplaceWith,
    AFX_DOCK_METHOD dockMethod,
    BOOL bRegisterWithFrame = FALSE);

Parámetros

pBarToReplaceWith
[in] Puntero a un panel acoplable.

dockMethod
[in] No se utiliza.

bRegisterWithFrame
[in] Si es TRUE, el nuevo panel se registra con el administrador de acoplamiento del elemento primario del panel anterior. El nuevo panel se inserta en el índice del panel anterior en la lista de paneles que el administrador de acoplamiento mantiene.

Valor devuelto

TRUE si el reemplazo es correcto; de lo contrario, FALSE.

CDockablePane::RestoreDefaultPaneDivider

Cuando se deserializa un panel, el marco llama a este método para restaurar el divisor de panel predeterminado.

void RestoreDefaultPaneDivider();

Comentarios

El divisor de panel predeterminado restaurado reemplaza al divisor de panel predeterminado actual, si existe.

CDockablePane::SetAutoHideMode

Alterna el panel de acoplamiento entre el modo visible y de ocultación automática.

virtual CMFCAutoHideBar* SetAutoHideMode(
    BOOL bMode,
    DWORD dwAlignment,
    CMFCAutoHideBar* pCurrAutoHideBar = NULL,
    BOOL bUseTimer = TRUE);

Parámetros

bMode
[in] TRUE para habilitar el modo de ocultación automática; FALSE para habilitar el modo de acoplamiento normal.

dwAlignment
[in] Especifica la alineación del panel de ocultación automática que se va a crear.

pCurrAutoHideBar
[in, out] Puntero a la barra de herramientas de ocultación automática actual. Puede ser NULL.

bUseTimer
[in] Especifica si se debe usar el efecto de ocultación automática cuando el usuario cambia el panel al modo de ocultación automática o para ocultar el panel inmediatamente.

Valor devuelto

Barra de herramientas de ocultación automática que se creó como resultado de cambiar al modo de ocultación automática, o NULL.

Comentarios

El marco llama a este método cuando un usuario hace clic en el botón de anclaje para cambiar el panel acoplable al modo de ocultación automática o al modo de acoplamiento normal.

Llame a este método para cambiar un panel acoplable al modo de ocultación automática mediante programación. El panel debe estar acoplado a la ventana de marco principal (CDockablePane::GetDefaultPaneDivider debe devolver un puntero válido a CPaneDivider).

CDockablePane::SetAutoHideParents

Establece el botón y la barra de herramientas de ocultación automática para el panel.

void SetAutoHideParents(
    CMFCAutoHideBar* pToolBar,
    CMFCAutoHideButton* pBtn);

Parámetros

pToolBar
[in] Puntero a una barra de herramientas de ocultación automática.

pBtn
[in] Puntero a un botón de ocultación automática.

CDockablePane::SetLastPercentInPaneContainer

Establece el porcentaje de espacio que ocupa un panel en su contenedor.

void SetLastPercentInPaneContainer(int n);

Parámetros

n
[in] int que especifica el porcentaje de espacio que ocupa el panel en su contenedor.

Comentarios

El marco ajusta el panel para usar el nuevo valor cuando se vuelve a calcular el diseño.

CDockablePane::SetRestoredDefaultPaneDivider

Establece el divisor de panel predeterminado restaurado.

void SetRestoredDefaultPaneDivider(HWND hRestoredSlider);

Parámetros

hRestoredSlider
[in] Identificador de un divisor de panel (control deslizante).

Comentarios

Se obtiene un divisor de panel predeterminado restaurado cuando se deserializa un panel. Para obtener más información, vea CDockablePane::RestoreDefaultPaneDivider.

CDockablePane::SetTabbedPaneRTC

Establece la información de clase en tiempo de ejecución para una ventana con fichas que se crea cuando dos paneles se acoplan.

void SetTabbedPaneRTC(CRuntimeClass* pRTC);

Parámetros

pRTC
[in] Información de clase en tiempo de ejecución del panel con fichas.

Comentarios

Llame a este método para establecer la información de clase en tiempo de ejecución de los paneles con fichas que se crean dinámicamente. Esto puede ocurrir cuando un usuario arrastra un panel al título de otro panel, o si llama al método CDockablePane::AttachToTabWnd para crear mediante programación un panel con fichas a partir de dos paneles acoplables.

La clase en tiempo de ejecución predeterminada se establece según el parámetro dwTabbedStyle de CDockablePane::Create y CDockablePane::CreateEx. Para personalizar los nuevos paneles con fichas, derive la clase de una de las siguientes clases:

A continuación, llame a este método con el puntero a su información de clase en tiempo de ejecución.

CDockablePane::ShowPane

Muestra u oculta un panel.

virtual void ShowPane(
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

Parámetros

bShow
[in] TRUE para mostrar el panel; FALSE para ocultar el panel.

bDelay
[in] TRUE para retrasar el ajuste del diseño de acoplamiento; FALSE para ajustar el diseño de acoplamiento inmediatamente.

bActivate
[in] TRUE para activar el panel cuando se muestra; de lo contrario, FALSE.

Comentarios

Llame a este método en lugar de CWnd::ShowWindow al mostrar u ocultar paneles acoplables.

CDockablePane::Slide

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

virtual void Slide(
    BOOL bSlideOut,
    BOOL bUseTimer = TRUE);

Parámetros

bSlideOut
[in] TRUE para mostrar el panel; FALSE para ocultar el panel.

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

Comentarios

El marco llama a este método para animar un panel que está en modo de ocultación automática.

Este método usa el valor CDockablePane::m_nSlideDefaultTimeOut para determinar el tiempo de espera para el efecto deslizante. El valor predeterminado para el tiempo de espera es 1. Si personaliza el algoritmo de ocultación automática, modifique este miembro para cambiar el tiempo de espera.

CDockablePane::ToggleAutoHide

Alterna el panel entre el modo visible y de ocultación automática.

virtual void ToggleAutoHide();

Comentarios

Este método alterna el modo de ocultación automática para el panel mediante una llamada a CDockablePane::SetAutoHideMode.

CDockablePane::UndockPane

Desacopla un panel de la ventana de marco principal o un contenedor de ventanas minimarco.

virtual void UndockPane(BOOL bDelay = FALSE);

Parámetros

bDelay
[in] TRUE para retrasar el cálculo del diseño de acoplamiento; FALSE para volver a calcular el diseño de acoplamiento inmediatamente.

Comentarios

Llame a este método para desacoplar un panel de la ventana de marco principal o de un contenedor de ventanas de varios minimarcos (un panel flotante en una sola ventana minimarco con otros paneles).

Debe desacoplar un panel antes de realizar cualquier operación externa que CDockingManager no realice. Por ejemplo, debe desacoplar un panel para moverlo mediante programación de una ubicación a otra.

El marco desacopla automáticamente los paneles antes de que se destruyan.

Consulte también

Gráfico de jerarquías
Clases
CPane (clase)