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ámetroppTabbedControlBar
. 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 objetoCDockablePane
del parámetropTabControlBarAttachTo
. Puede llamar aCDockablePane::SetTabbedPaneRTC
para establecer el tipo de panel con fichas queCDockablePane
creará. El tipo predeterminado viene determinado pordwTabbedStyle
deCDockablePane::Create
cuando se creaCDockablePane
por primera vez. SidwTabbedStyle
esAFX_CBRS_OUTLOOK_TABS
, el tipo predeterminado es la claseCMFCOutlookBar
; sidwTabbedStyle
esAFX_CBRS_REGULAR_TABS
, el tipo predeterminado es la claseCTabbedPane
.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 aCDockablePane::ShowPane
. Si esta variable miembro se establece enTRUE
, 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
enTRUE
.
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
Requisitos
Encabezado: afxDockablePane.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:
El marco comprueba si el panel de destino
pTabControlBarAttachTo
es un panel de acoplamiento normal o si se deriva deCBaseTabbedPane
.Si el panel de destino es un panel con fichas, el marco agrega el panel actual como una ficha.
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 miembrom_pTabbedControlBarRTC
. De forma predeterminada, este miembro se establece en la clase en tiempo de ejecución deCTabbedPane
. Si pasa el estiloAFX_CBRS_OUTLOOK_TABS
como el parámetrodwTabbedStyle
al métodoCDockablePane::Create
, el objeto de clase en tiempo de ejecución se establece en la clase en tiempo de ejecución deCMFCOutlookBar
. 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.
Si el panel actual se deriva de
CBaseTabbedPane
, todas sus fichas se mueven apTabControlBarAttachTo
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 siguientes valores:
HTNOWHERE
sipoint
no está en el panel acoplable.HTCLIENT
sipoint
está en el área cliente del panel acoplable.HTCAPTION
sipoint
está en el área de título del panel acoplable.AFX_HTCLOSE
sipoint
está en el botón Cerrar.HTMAXBUTTON
sipoint
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
Solo para uso interno. 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.