Partilhar via


Classe CDockablePane

Implementa um painel que pode ser encaixado em um local de encaixe ou incluído em um painel com guias.

Sintaxe

class CDockablePane : public CPane

Membros

Construtores públicos

Nome Descrição
CDockablePane::CDockablePane Constrói e inicializa um objeto CDockablePane.

Métodos públicos

Nome Descrição
CDockablePane::AttachToTabWnd Anexa um painel a outro. Isso cria um painel com guias.
CDockablePane::CalcFixedLayout Retorna o tamanho do retângulo do painel.
CDockablePane::CanAcceptMiniFrame Determina se a minimoldura especificada pode ser encaixada no painel.
CDockablePane::CanAcceptPane Determina se outro painel pode ser encaixado no painel atual.
CDockablePane::CanAutoHide Determina se o painel dá suporte ao modo de ocultação automática. (Substitui CBasePane::CanAutoHide.)
CDockablePane::CanBeAttached Determina se o painel atual pode ser encaixado em outro painel.
CDockablePane::ConvertToTabbedDocument Converte um ou mais painéis encaixáveis em documentos com guia MDI.
CDockablePane::CopyState Copia o estado de um painel encaixável.
CDockablePane::Create Cria o controle do Windows e o anexa ao objeto CDockablePane.
CDockablePane::CreateDefaultPaneDivider Cria um divisor padrão para o painel, pois ele está sendo encaixado em uma janela de quadro.
CDockablePane::CreateEx Cria o controle do Windows e o anexa ao objeto CDockablePane.
CDockablePane::CreateTabbedPane Cria um painel com guias do painel atual.
CDockablePane::DockPaneContainer Encaixa um contêiner no painel.
CDockablePane::DockPaneStandard Encaixa um painel usando o encaixe de contorno (padrão).
CDockablePane::DockToFrameWindow Usado internamente. Para encaixar um painel, use CPane::DockPane ou CDockablePane::DockToWindow.
CDockablePane::DockToRecentPos Encaixa um painel em sua posição de encaixe recente armazenada.
CDockablePane::DockToWindow Encaixa um painel de encaixe em outro.
CDockablePane::EnableAutohideAll Habilita ou desabilita o modo de ocultação automática para esse painel junto com outros painéis no contêiner.
CDockablePane::EnableGripper Mostra ou oculta a legenda (garra).
CDockablePane::GetAHRestoredRect Especifica a posição do painel quando visível no modo de ocultação automática.
CDockablePane::GetAHSlideMode Recupera o modo de slide de ocultação automática para o painel.
CDockablePane::GetAutoHideButton Usado internamente.
CDockablePane::GetAutoHideToolBar Usado internamente.
CDockablePane::GetCaptionHeight Retorna a altura da legenda atual.
CDockablePane::GetDefaultPaneDivider Retorna o divisor de painel padrão para o contêiner do painel.
CDockablePane::GetDockingStatus Determina a capacidade de um painel de ser encaixado com base no local do ponteiro fornecido.
CDockablePane::GetDragSensitivity Retorna a sensibilidade de arrastar de um painel de encaixe.
CDockablePane::GetLastPercentInPaneContainer Recupera o percentual de espaço que um painel ocupa dentro de seu contêiner.
CDockablePane::GetTabArea Recupera a área da guia para o painel.
CDockablePane::GetTabbedPaneRTC Retorna as informações de classe de runtime sobre uma janela com guias criada quando outro painel se encaixa no atual.
CDockablePane::HasAutoHideMode Especifica se um painel de encaixe pode ser alternado para o modo de ocultação automática.
CDockablePane::HitTest Indica o local específico em um painel em que o usuário clica com o mouse.
CDockablePane::IsAccessibilityCompatible Usado internamente.
CDockablePane::IsAutohideAllEnabled Indica se o painel de encaixe e todos os outros painéis no contêiner podem ser colocados no modo de ocultação automática.
CDockablePane::IsAutoHideMode Determina se um painel está no modo de ocultação automática.
CDockablePane::IsChangeState Usado internamente.
CDockablePane::IsDocked Determina se o painel atual está encaixado.
CDockablePane::IsHideInAutoHideMode Determina o comportamento de um painel que está no modo de ocultação automática se ele for mostrado (ou ocultado) chamando ShowPane.
CDockablePane::IsInFloatingMultiPaneFrameWnd Especifica se o painel está em uma janela de quadro com vários painéis.
CDockablePane::IsResizable Especifica se o painel é redimensionável.
CDockablePane::IsTabLocationBottom Especifica se as guias estão localizadas na parte superior ou inferior do painel.
CDockablePane::IsTracked Especifica se um painel está sendo arrastado pelo usuário.
CDockablePane::IsVisible Determina se o painel está visível.
CDockablePane::LoadState Usado internamente.
CDockablePane::OnAfterChangeParent Chamado pela estrutura quando o pai de um painel foi alterado. (Substitui CPane::OnAfterChangeParent.)
CDockablePane::OnAfterDockFromMiniFrame Chamado pela estrutura quando uma barra de encaixe flutuante se encaixa em uma janela de quadro.
CDockablePane::OnBeforeChangeParent Chamado pela estrutura quando o pai do painel está prestes a ser alterado. (Substitui CPane::OnBeforeChangeParent.)
CDockablePane::OnBeforeFloat Chamado pela estrutura quando um painel está prestes a flutuar. (Substitui CPane::OnBeforeFloat.)
CDockablePane::RemoveFromDefaultPaneDividier A estrutura chama esse método quando um painel está sendo desencaixado.
CDockablePane::ReplacePane Substitui o painel por um painel especificado.
CDockablePane::RestoreDefaultPaneDivider A estrutura chama esse método conforme um painel é desserializado para restaurar o divisor de painel padrão.
CDockablePane::SaveState Usado internamente.
CDockablePane::Serialize Serializa o painel. (Substitui CBasePane::Serialize.)
CDockablePane::SetAutoHideMode Alterna o painel de encaixe entre o modo visível e de ocultação automática.
CDockablePane::SetAutoHideParents Define o botão de ocultamento automático e a barra de ferramentas de ocultação automática para o painel.
CDockablePane::SetDefaultPaneDivider Usado internamente.
CDockablePane::SetLastPercentInPaneContainer Define o percentual de espaço que um painel ocupa dentro de seu contêiner.
CDockablePane::SetResizeMode Usado internamente.
CDockablePane::SetRestoredDefaultPaneDivider Define o divisor de painel padrão restaurado.
CDockablePane::SetTabbedPaneRTC Define as informações de classe de runtime para uma janela com guias criada quando dois painéis se encaixam.
CDockablePane::ShowPane Mostra ou oculta um painel.
CDockablePane::Slide Mostra ou oculta um painel com uma animação deslizante exibida somente quando o painel está no modo de ocultação automática.
CDockablePane::ToggleAutoHide Alterna o modo de ocultação automática. (Substitui CPane::ToggleAutoHide.)
CDockablePane::UndockPane Desencaixa um painel da janela de quadro principal ou de um contêiner de janela de miniquadro.
CDockablePane::UnSetAutoHideMode Usado internamente. Para definir o modo de ocultação automática, use CDockablePane::SetAutoHideMode

Métodos protegidos

Nome Descrição
CDockablePane::CheckAutoHideCondition Determina se o painel de encaixe está oculto (no modo de ocultação automática).
CDockablePane::CheckStopSlideCondition Determina quando um painel de encaixe de ocultação automática deve parar de deslizar.
CDockablePane::DrawCaption Desenha a legenda do painel de encaixe (garra).
CDockablePane::OnPressButtons Chamado quando o usuário pressiona um botão de título diferente dos botões AFX_HTCLOSE e AFX_HTMAXBUTTON.
CDockablePane::OnSlide Chamado pela estrutura para renderizar o efeito de deslizamento de ocultação automática quando o painel é mostrado ou ocultado.

Membros de dados

Nome Descrição
CDockablePane::m_bDisableAnimation Especifica se a animação de ocultação automática do painel encaixável está desabilitada.
CDockablePane::m_bHideInAutoHideMode Determina o comportamento do painel quando o painel está no modo de ocultação automática.
CDockablePane::m_nSlideSteps Especifica a velocidade de animação do painel quando ele está sendo mostrado ou ocultado no modo de ocultação automática.

Comentários

CDockablePane implementa as seguintes funcionalidades:

  • Encaixar um painel em uma janela de quadro principal.

  • Alternar um painel para o modo de ocultação automática.

  • Anexar um painel a uma janela com guias.

  • Definir o painel como flutuante em uma janela de miniquadro.

  • Encaixar um painel em outro que está flutuando em uma janela de miniquadro.

  • Redimensionar um painel.

  • Carregar e salvar o estado para um painel de encaixe.

    Observação

    As informações de estado são salvas no Registro do Windows.

  • Criar um painel com ou sem uma legenda. A legenda pode ter um rótulo de texto e pode ser preenchida com uma cor de gradiente.

  • Arrastar um painel enquanto exibe o conteúdo do painel

  • Arrastar um painel enquanto exibe um retângulo de arrastar.

Para usar um painel de encaixe em seu aplicativo, derive sua classe de painel da classe CDockablePane. Insira o objeto derivado no objeto de janela de quadro principal ou em um objeto de janela que controla a instância do painel. Então chame o método CDockablePane::Create ou o método CDockablePane::CreateEx ao processar a mensagem WM_CREATE na janela de quadro principal. Por fim, configure o objeto do painel chamando CBasePane::EnableDocking, CBasePane::DockPane ou CDockablePane::AttachToTabWnd.

Dias de personalização

As seguintes dicas se aplicam a objetos CDockablePane:

  • Se você chamar CDockablePane::AttachToTabWnd para dois painéis encaixáveis sem guias, um ponteiro para uma janela com guias será retornado no parâmetro ppTabbedControlBar. Você pode continuar a adicionar guias à janela com guias usando esse parâmetro.

  • O tipo de painel com guias que é criado por CDockablePane::AttachToTabWnd é determinado pelo objeto CDockablePane no parâmetro pTabControlBarAttachTo. Você pode chamar CDockablePane::SetTabbedPaneRTC para definir o tipo de painel com guias que CDockablePane criará. O tipo padrão é determinado pelo dwTabbedStyle de CDockablePane::Create quando você cria o CDockablePane. Se dwTabbedStyle for AFX_CBRS_OUTLOOK_TABS, o tipo padrão será Classe CMFCOutlookBar; se dwTabbedStyle for AFX_CBRS_REGULAR_TABS, o tipo padrão será Classe CTabbedPane.

  • Se você quiser encaixar um painel encaixável em outro, chame o método CDockablePane::DockToWindow. O painel original deve estar encaixado em algum lugar antes de chamar esse método.

  • A variável de membro CDockablePane::m_bHideInAutoHideMode controla como os painéis encaixáveis se comportam no modo de ocultação automática quando você chama CDockablePane::ShowPane. Se essa variável de membro estiver definida como TRUE, os painéis encaixáveis e os botões de ocultação automática ficarão ocultos. Caso contrário, eles deslizarão para dentro e para fora.

  • Você pode desabilitar a animação de ocultação automática definindo a variável de membro CDockablePane::m_bDisableAnimation como TRUE.

Exemplo

O exemplo a seguir demonstra como configurar um objeto CDockablePane usando vários métodos na classe CDockablePane. O exemplo ilustra como habilitar o recurso de ocultação automática de todos os recursos para o painel encaixável, habilitar a legenda ou a garra, habilitar o modo de ocultação automática, mostrar o painel e animar um painel que está no modo de ocultação automática. Esse snippet de código faz parte do exemplo de Demonstração do 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);

Hierarquia de herança

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

Requisitos

Cabeçalho: afxDockablePane.h

CDockablePane::AttachToTabWnd

Anexa o painel atual a um painel de destino, criando um painel com guias.

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

Parâmetros

pTabControlBarAttachTo
[in, out] Especifica o painel de destino ao qual o painel atual se anexa. O painel de destino deve ser um painel encaixável.

dockMethod
[in] Especifica o método de encaixe.

bSetActive
[in] TRUE para ativar o painel com guias após a operação de anexar; caso contrário, FALSE.

ppTabbedControlBar
[out] Contém o painel com guias que resulta da operação de anexar.

Valor de retorno

Um ponteiro para o painel atual, se não for um painel com guias; caso contrário, um ponteiro para o painel com guias que resulta da operação de anexar. O valor retornado é NULL se o painel atual não puder ser anexado ou se ocorrer um erro.

Comentários

Quando um painel encaixável é anexado a outro painel usando esse método, ocorre o seguinte:

  1. A estrutura verifica se o painel de destino pTabControlBarAttachTo é um painel de encaixe regular ou se é derivado de CBaseTabbedPane.

  2. Se o painel de destino for um painel com guias, a estrutura adicionará o painel atual a ele como uma guia.

  3. Se o painel de destino for um painel de encaixe regular, a estrutura criará um painel com guias.

    • A estrutura chama pTabControlBarAttachTo->CreateTabbedPane. O estilo do novo painel com guias depende do membro m_pTabbedControlBarRTC. Por padrão, esse membro é definido como a classe de runtime de CTabbedPane. Se você passar o estilo AFX_CBRS_OUTLOOK_TABS como o parâmetro dwTabbedStyle para o método CDockablePane::Create, o objeto de classe de runtime será definido como a classe de runtime de CMFCOutlookBar. Você pode alterar esse membro a qualquer momento para alterar o estilo do novo painel.

    • Quando esse método cria um painel com guias, a estrutura substitui o ponteiro para pTabControlBarAttachTo (se o painel estiver encaixado ou flutuando em uma janela de vários miniquadros) por um ponteiro para o novo painel com guias.

    • A estrutura adiciona o painel pTabControlBarAttachTo ao painel com guias como a primeira guia. Em seguida, a estrutura adiciona o painel atual como uma segunda guia.

  4. Se o painel atual for derivado de CBaseTabbedPane, todas as suas guias serão movidas para pTabControlBarAttachTo e o painel atual será destruído. Portanto, tenha cuidado ao chamar esse método, pois um ponteiro para o painel atual pode ser inválido quando o método retornar.

Se você anexar um painel a outro ao criar um layout de encaixe, defina dockMethod como DM_SHOW.

Você deve encaixar o primeiro painel antes de anexar outro painel a ele.

CDockablePane::CalcFixedLayout

Retorna o tamanho do retângulo do painel.

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parâmetros

bStretch
[in] Não é usado.

bHorz
[in] Não é usado.

Valor de retorno

Um objeto CSize que contém o tamanho do retângulo do painel.

CDockablePane::CanAcceptMiniFrame

Determina se a minimoldura especificada pode ser encaixada no painel.

virtual BOOL CanAcceptMiniFrame(CPaneFrameWnd* pMiniFrame) const;

Parâmetros

pMiniFrame
[in] Ponteiro para um objeto CPaneFrameWnd.

Valor de retorno

TRUE se pMiniFrame puder ser encaixado no painel; caso contrário, FALSE.

CDockablePane::CanAcceptPane

Determina se outro painel pode ser encaixado no painel atual.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Parâmetros

pBar
[in] Especifica o painel a ser encaixado no painel atual.

Valor de retorno

TRUE se o painel especificado puder ser encaixado neste painel; caso contrário, FALSE.

Comentários

A estrutura chama esse método antes que um painel seja encaixado no painel atual.

Substitua essa função em uma classe derivada para habilitar ou desabilitar o encaixe em um painel específico.

Por padrão, esse método retornará TRUE se um pBar ou seu pai for do tipo CDockablePane.

CDockablePane::CanAutoHide

Determina se o painel pode ser ocultado automaticamente.

virtual BOOL CanAutoHide() const;

Valor de retorno

TRUE se o painel puder ocultar automaticamente; caso contrário, FALSE.

Comentários

CDockablePane::CanAutoHide retornará FALSE em qualquer uma das seguintes situações:

  • O painel não tem pai.

  • O gerenciador de encaixe não permite que os painéis se ocultem automaticamente.

  • O painel não está encaixado.

CDockablePane::CanBeAttached

Determina se o painel atual pode ser encaixado em outro painel.

virtual BOOL CanBeAttached() const;

Valor de retorno

TRUE se o painel encaixável puder ser encaixado em outro painel ou na janela de quadro principal; caso contrário, FALSE.

Comentários

Por padrão, esse método sempre retorna TRUE. Substitua esse método em uma classe derivada para habilitar ou desabilitar o encaixe sem chamar CBasePane::EnableDocking.

CDockablePane::CDockablePane

Constrói e inicializa um objeto CDockablePane.

CDockablePane();

Comentários

Depois de construir um objeto de painel encaixável, chame CDockablePane::Create ou CDockablePane::CreateEx para criá-lo.

CDockablePane::ConvertToTabbedDocument

Converte um ou mais painéis encaixáveis em documentos com guia MDI.

virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);

Parâmetros

bActiveTabOnly
[in] Ao converter um CTabbedPane, especifique TRUE para converter apenas a guia ativa. Especifique FALSE para converter todas as guias no painel.

CDockablePane::CheckAutoHideCondition

Determina se o painel de encaixe está oculto (também conhecido como modo de ocultação automática).

virtual BOOL CheckAutoHideCondition();

Valor de retorno

TRUE se a condição de ocultação for atendida; caso contrário, FALSE.

Comentários

A estrutura usa um temporizador para verificar periodicamente se um painel encaixável de ocultação automática deve ser ocultado. O método retorna TRUE quando o painel não está ativo, o painel não está sendo redimensionado e o ponteiro do mouse não está sobre o painel.

Se todas as condições anteriores forem atendidas, a estrutura chamará CDockablePane::Slide para ocultar o painel.

CDockablePane::CheckStopSlideCondition

Determina quando um painel de encaixe de ocultação automática deve parar de deslizar.

virtual BOOL CheckStopSlideCondition(BOOL bDirection);

Parâmetros

bDirection
[in] TRUE se o painel estiver visível; FALSE se o painel estiver oculto.

Valor de retorno

TRUE se a condição de parada for atendida; caso contrário, FALSE.

Comentários

Quando um painel encaixável é definido como modo de ocultação automática, a estrutura usa efeitos deslizantes para mostrar ou ocultar o painel. A estrutura chama essa função quando o painel está deslizando. CheckStopSlideCondition retorna TRUE quando o painel está totalmente visível ou quando está totalmente oculto.

Substitua esse método em uma classe derivada para implementar efeitos de ocultação automática personalizados.

CDockablePane::CopyState

Copia o estado de um painel encaixável.

virtual void CopyState(CDockablePane* pOrgBar);

Parâmetros

pOrgBar
[in] Um ponteiro para um painel encaixável.

Comentários

CDockablePane::CopyState copia o estado do pOrgBar para o painel atual chamando os seguintes métodos:

CDockablePane::Create

Cria o controle do Windows e o anexa ao 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 o nome da janela.

pParentWnd
[in, out] Especifica a janela pai.

rect
[in] Especifica o tamanho e a posição da janela, nas coordenadas do cliente de pParentWnd.

bHasGripper
[in] TRUE para criar o painel com uma legenda; caso contrário, FALSE.

nID
[in] Especifica a ID da janela filho. Esse valor deverá ser exclusivo se você quiser salvar o estado de encaixe para este painel de encaixe.

dwStyle
[in] Especifica os atributos de estilo de janela.

dwTabbedStyle
[in] Especifica o estilo de tabela de uma janela com guia criada quando o usuário arrasta um painel na legenda deste painel.

dwControlBarStyle
[in] Especifica atributos de estilo adicionais.

pContext
[in, out] Especifica o contexto de criação da janela.

lpszWindowName
[in] Especifica o nome da janela.

sizeDefault
[in] Especifica o tamanho da janela.

Valor de retorno

TRUE se o painel encaixável for criado com êxito; caso contrário, FALSE.

Comentários

Cria um painel do Windows e o anexa ao objeto CDockablePane.

Se o estilo da janela dwStyle tiver o sinalizador CBRS_FLOAT_MULTI, a janela de miniquadro poderá flutuar com outros painéis na janela de miniquadro. Por padrão, os painéis de encaixe só podem flutuar individualmente.

Se o parâmetro dwTabbedStyle tiver o sinalizador AFX_CBRS_OUTLOOK_TABS especificado, o painel criará painéis com guias no estilo Outlook quando outro painel estiver anexado a esse painel usando o método CDockablePane::AttachToTabWnd. Por padrão, painéis encaixáveis criam painéis com guia regulares do tipo CTabbedPane.

CDockablePane::CreateDefaultPaneDivider

Cria um divisor padrão para o painel, pois ele está sendo encaixado em uma janela de quadro.

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

Parâmetros

dwAlignment
[in] Especifica o lado do quadro principal ao qual o painel está sendo encaixado. Se dwAlignment contiver o sinalizador CBRS_ALIGN_LEFT ou CBRS_ALIGN_RIGHT, esse método criará um divisor vertical (CPaneDivider::SS_VERT) ; caso contrário, esse método criará um divisor horizontal (CPaneDivider::SS_HORZ).

pParent
[in] Ponteiro para o quadro pai.

pSliderRTC
[in] Não é usado.

Valor de retorno

Esse método retorna um ponteiro para o divisor recém-criado ou NULL se a criação do divisor falhar.

Comentários

dwAlignment pode ser qualquer um dos seguintes valores:

Valor Descrição
CBRS_ALIGN_TOP O painel está sendo encaixado na parte superior da área de cliente de uma janela de quadro.
CBRS_ALIGN_BOTTOM O painel está sendo encaixado na parte inferior da área de cliente de uma janela de quadro.
CBRS_ALIGN_LEFT O painel está sendo encaixado no lado esquerdo da área de cliente de uma janela de quadro.
CBRS_ALIGN_RIGHT O painel está sendo encaixado no lado direito da área de cliente de uma janela de quadro.

CDockablePane::CreateEx

Cria o controle do Windows e o anexa ao 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 os atributos de estilo estendido para a nova janela.

lpszCaption
[in] Especifica o nome da janela.

pParentWnd
[in, out] Especifica a janela pai.

rect
[in] Especifica o tamanho e a posição da janela, nas coordenadas do cliente de pParentWnd.

bHasGripper
[in] TRUE para criar o painel com uma legenda; caso contrário, FALSE.

nID
[in] Especifica a ID da janela filho. Esse valor deverá ser exclusivo se você quiser salvar o estado de encaixe para este painel de encaixe.

dwStyle
[in] Especifica os atributos de estilo de janela.

dwTabbedStyle
[in] Especifica o estilo de tabela de uma janela com guia criada quando o usuário arrasta um painel na legenda deste painel.

dwControlBarStyle
[in] Especifica os atributos de estilo adicionais.

pContext
[in, out] Especifica o contexto de criação da janela.

Valor de retorno

TRUE se o painel encaixável for criado com êxito; caso contrário, FALSE.

Comentários

Cria um painel do Windows e o anexa ao objeto CDockablePane.

Se o estilo da janela dwStyle tiver o sinalizador CBRS_FLOAT_MULTI, a janela de miniquadro poderá flutuar com outros painéis na janela de miniquadro. Por padrão, os painéis de encaixe só podem flutuar individualmente.

Se o parâmetro dwTabbedStyle tiver o sinalizador AFX_CBRS_OUTLOOK_TABS especificado, o painel criará painéis com guias no estilo Outlook quando outro painel estiver anexado a esse painel usando o método CDockablePane::AttachToTabWnd. Por padrão, painéis encaixáveis criam painéis com guia regulares do tipo CTabbedPane.

CDockablePane::CreateTabbedPane

Cria um painel com guias do painel atual.

virtual CTabbedPane* CreateTabbedPane();

Valor de retorno

O novo painel com guias ou NULL se a operação de criação tiver falhado.

Comentários

A estrutura chama esse método quando cria um painel com guias para substituir esse painel. Para obter mais informações, consulte CDockablePane::AttachToTabWnd.

Substitua esse método em uma classe derivada para personalizar como os painéis com guia são criados e inicializados.

O painel com guias é criado de acordo com as informações de classe de runtime armazenadas no membro m_pTabbedControlBarRTC, que são inicializadas pelo método CDockablePane::CreateEx.

CDockablePane::DockPaneContainer

Encaixa um contêiner no painel.

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

Parâmetros

barContainerManager
[in] Uma referência ao gerenciador de contêineres do contêiner que está sendo encaixado.

dwAlignment
[in] DWORD que especifica o lado do painel ao qual o contêiner está sendo encaixado.

dockMethod
[in] Não é usado.

Valor de retorno

TRUE se o contêiner tiver sido encaixado com êxito no painel; caso contrário, FALSE.

Comentários

dwAlignment pode ser qualquer um dos seguintes valores:

Valor Descrição
CBRS_ALIGN_TOP O contêiner está sendo encaixado na parte superior do painel.
CBRS_ALIGN_BOTTOM O contêiner está sendo encaixado na parte inferior do painel.
CBRS_ALIGN_LEFT O contêiner está sendo encaixado à esquerda do painel.
CBRS_ALIGN_RIGHT O contêiner está sendo encaixado à direita do painel.

CDockablePane::DockPaneStandard

Encaixa um painel usando o encaixe de contorno (padrão).

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

Parâmetros

bWasDocked
[in] Quando o método retorna, esse valor conterá TRUE se o painel tiver sido encaixado com êxito; caso contrário, ele conterá FALSE.

Valor de retorno

Se o painel tiver sido encaixado em uma janela com guias ou se uma janela com guias tiver sido criada como resultado do encaixe, esse método retornará um ponteiro para a janela com guias. Se o painel tiver sido encaixado com êxito, esse método retornará o ponteiro this. Se o encaixe falhar, esse método retornará NULL.

CDockablePane::DockToRecentPos

Encaixa um painel em sua posição de encaixe armazenada.

BOOL CDockablePane::DockToRecentPos();

Valor de retorno

TRUE se o painel for encaixado com êxito; caso contrário, FALSE.

Comentários

Painéis encaixáveis armazenam informações de encaixe recentes em um objeto CRecentDockSiteInfo.

CDockablePane::DockToWindow

Encaixa um painel de encaixe em outro.

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

Parâmetros

pTargetWindow
[in, out] Especifica o painel encaixável no qual encaixar esse painel.

dwAlignment
[in] Especifica o alinhamento de encaixe para o painel. Pode ser um de CBRS_ALIGN_LEFT, CBRS_ALIGN_TOP, CBRS_ALIGN_RIGHT, CBRS_ALIGN_BOTTOM ou CBRS_ALIGN_ANY. (Definido em afxres.h.)

lpRect
[in] Especifica o retângulo de encaixe para o painel.

Valor de retorno

TRUE se o painel tiver sido encaixado com êxito; caso contrário, FALSE.

Comentários

Chame esse método para encaixar um painel em outro painel com o alinhamento especificado por dwAlignment.

CDockablePane::DrawCaption

Desenha a legenda (também chamada de garra) de um painel de encaixe.

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

Parâmetros

pDC
[in] Representa o contexto do dispositivo usado para desenho.

rectCaption
[in] Especifica o retângulo delimitador da legenda do painel.

Comentários

A estrutura chama esse método para desenhar a legenda de um painel encaixável.

Substitua esse método em uma classe derivada para personalizar a aparência da legenda.

CDockablePane::EnableAutohideAll

Habilita ou desabilita o modo de ocultação automática para este painel e para outros painéis no contêiner.

void EnableAutohideAll(BOOL bEnable = TRUE);

Parâmetros

bEnable
[in] TRUE para habilitar o recurso ocultar tudo automaticamente para o painel encaixável; caso contrário, FALSE.

Comentários

Quando um usuário segura a tecla Ctrl e clica no botão de fixar para alternar um painel para o modo de ocultação automática, todos os outros painéis no mesmo contêiner também são alternados para o modo de ocultação automática.

Chame esse método com bEnable definido como FALSE para desabilitar esse recurso para um painel específico.

CDockablePane::EnableGripper

Mostra ou oculta a legenda (também chamada de garra).

virtual void EnableGripper(BOOL bEnable);

Parâmetros

bEnable
[in] TRUE para habilitar a legenda; caso contrário, FALSE.

Comentários

Quando a estrutura cria painéis encaixáveis, eles não têm o estilo de janela WS_STYLE, mesmo se especificado. Isso significa que a legenda do painel é uma área não de cliente controlada pela estrutura, mas essa área é diferente da legenda da janela padrão.

Você pode mostrar ou ocultar a legenda a qualquer momento. A estrutura oculta a legenda quando um painel é adicionado como uma guia a uma janela com guias ou quando um painel é colocado como flutuante em uma janela de miniquadro.

CDockablePane::GetAHRestoredRect

Especifica a posição do painel quando no modo de ocultação automática.

CRect GetAHRestoredRect() const;

Valor de retorno

Um objeto CRect que contém a posição do painel quando ele está no modo de ocultação automática.

Comentários

CDockablePane::GetAHSlideMode

Recupera o modo de deslizamento de ocultação automática para o painel.

virtual UINT GetAHSlideMode() const;

Valor de retorno

Um UINT que especifica o modo de deslizamento de ocultação automática para o painel. O valor retornado pode ser AFX_AHSM_MOVE ou AFX_AHSM_STRETCH, mas a implementação usa apenas AFX_AHSM_MOVE.

Comentários

CDockablePane::GetCaptionHeight

Retorna a altura, em pixels, da legenda atual.

virtual int GetCaptionHeight() const;

Valor de retorno

A altura da legenda, em pixels.

Comentários

A altura da legenda será 0 se a legenda estiver oculta pelo método CDockablePane::EnableGripper ou se o painel não tiver uma legenda.

CDockablePane::GetDefaultPaneDivider

Retorna o divisor de painel padrão para o contêiner do painel.

CPaneDivider* GetDefaultPaneDivider() const;

Valor de retorno

Um objeto CPaneDivider válido se o painel encaixável estiver encaixado na janela de quadro principal ou NULL se o painel encaixável não estiver encaixado ou se estiver flutuante.

Comentários

Para mais informações sobre divisores de painel, confira a Classe CPaneDivider.

CDockablePane::GetDockingStatus

Determina a capacidade de um painel de ser encaixado com base no local do ponteiro fornecido.

virtual AFX_CS_STATUS GetDockingStatus(
    CPoint pt,
    int nSensitivity);

Parâmetros

pt
[in] O local do ponteiro nas coordenadas da tela.

nSensitivity
[in] A distância, em pixels, longe da borda de um retângulo em que o ponteiro deve ser para habilitar o encaixe.

Valor de retorno

Um dos seguintes valores de status:

AFX_CS_STATUS valor Significado
CS_NOTHING O ponteiro não está sobre um local de encaixe. A estrutura não encaixa o painel.
CS_DOCK_IMMEDIATELY O ponteiro está localizado sobre o local de encaixe no modo imediato (o painel usa o modo de encaixe DT_IMMEDIATE). A estrutura encaixa o painel imediatamente.
CS_DELAY_DOCK O ponteiro está sobre um local de encaixe que é outro painel de encaixe ou é uma borda do quadro principal. A estrutura encaixa o painel após um atraso. Confira a seção Comentários para mais informações sobre esse atraso.
CS_DELAY_DOCK_TO_TAB O ponteiro está localizado em um local de encaixe que faz com que o painel seja encaixado em uma janela com guias. Isso ocorre quando o ponteiro está localizado sobre a legenda de outro painel de encaixe ou sobre a área de tabulação de um painel com guias.

Comentários

A estrutura chama esse método para lidar com o encaixe de um painel flutuante.

Para barras de ferramentas flutuantes ou painéis de encaixe que usam o modo de encaixe DT_IMMEDIATE, a estrutura atrasa o comando dock para permitir que o usuário mova a janela para fora da área de cliente do quadro pai antes que o encaixe ocorra. A duração do atraso é medida em milissegundos e é controlada pelo membro de dados CDockingManager::m_nTimeOutBeforeToolBarDock. O valor padrão de CDockingManager::m_nTimeOutBeforeToolBarDock é 200. Esse comportamento emula o comportamento de encaixe do Microsoft Word 2007.

Para estados de encaixe atrasados (CS_DELAY_DOCK e CS_DELAY_DOCK_TO_TAB), a estrutura não executa o encaixe até que o usuário solte o botão do mouse. Se um painel usar o modo de encaixe DT_STANDARD, a estrutura exibirá um retângulo no local de encaixe projetado. Se um painel usar o modo de encaixe DT_SMART, a estrutura exibirá marcadores de encaixe inteligentes e retângulos semitransparentes no local de encaixe projetado. Para especificar o modo de encaixe do painel, chame o método CBasePane::SetDockingMode. Para mais informações sobre ponteiros inteligentes, confira CDockingManager::GetSmartDockingParams.

CDockablePane::GetDragSensitivity

Retorna a sensibilidade de arrastar de um painel de encaixe.

static const CSize& GetDragSensitivity();

Valor de retorno

Um objeto CSize que contém a largura e a altura, em pixels, de um retângulo centralizado em um ponto de arrastar. A operação de arrastar não começa até que o ponteiro do mouse se mova para fora deste retângulo.

CDockablePane::GetLastPercentInPaneContainer

Recupera o percentual de espaço que um painel ocupa em seu contêiner (Classe CPaneContainer).

int GetLastPercentInPaneContainer() const;

Valor de retorno

Um int que especifica o percentual de espaço que o painel ocupa em seu contêiner.

Comentários

Esse método é usado quando o contêiner ajusta seu layout.

CDockablePane::GetTabArea

Recupera a área da guia para o painel.

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

Parâmetros

rectTabAreaTop
[in] GetTabArea preencherá essa variável com a área de tabulação se as guias estiverem localizadas na parte superior do painel. Se as guias estiverem localizadas na parte inferior do painel, essa variável será preenchida com um retângulo vazio.

rectTabAreaBottom
[in] GetTabArea preencherá essa variável com a área de tabulação se as guias estiverem localizadas na parte inferior do painel. Se as guias estiverem localizadas na parte superior do painel, essa variável será preenchida com um retângulo vazio.

Comentários

Esse método é usado apenas em classes derivadas de CDockablePane e que têm guias. Para obter mais informações, consulte CTabbedPane::GetTabArea e CMFCOutlookBar::GetTabArea.

CDockablePane::GetTabbedPaneRTC

Retorna as informações de classe de runtime sobre uma janela com guias criada quando outro painel se encaixa no atual.

CRuntimeClass* GetTabbedPaneRTC() const;

Valor de retorno

As informações de classe de runtime para o painel encaixável.

Comentários

Chame esse método para recuperar as informações de classe de runtime para painéis com guias criados dinamicamente. Isso pode ocorrer quando um usuário arrasta um painel para a legenda de outro painel ou se você chamar o método CDockablePane::AttachToTabWnd para criar programaticamente um painel com guias de dois painéis encaixáveis.

Você pode definir as informações da classe de runtime chamando o método CDockablePane::SetTabbedPaneRTC.

CDockablePane::HasAutoHideMode

Especifica se um painel de encaixe pode ser alternado para o modo de ocultação automática.

virtual BOOL HasAutoHideMode() const;

Valor de retorno

TRUE se o painel encaixável puder ser alternado para o modo de ocultação automática; caso contrário, FALSE.

Comentários

Substitua esse método em uma classe derivada para desabilitar o modo de ocultação automática para um painel encaixável específico.

CDockablePane::HitTest

Especifica o local em um painel em que o usuário clica com o mouse.

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

Parâmetros

point
[in] Especifica o ponto a ser testado.

bDetectCaption
[in] TRUE se HTCAPTION deve ser retornado se o ponto estiver na legenda do painel; caso contrário, FALSE.

Valor de retorno

Um dos seguintes valores:

  • HTNOWHERE se point não estiver no painel encaixável.

  • HTCLIENT se point estiver na área de cliente do painel encaixável.

  • HTCAPTION se point estiver na área de legenda do painel encaixável.

  • AFX_HTCLOSE se point estiver no botão fechar.

  • HTMAXBUTTON se point estiver no botão fixar.

CDockablePane::IsAutohideAllEnabled

Indica se o painel de encaixe e todos os outros painéis no contêiner podem ser alternados para o modo de ocultação automática.

virtual BOOL IsAutohideAllEnabled() const;

Valor de retorno

TRUE se o painel encaixável e todos os outros painéis no contêiner puderem ser alternados para o modo de ocultação automática; caso contrário, FALSE.

Comentários

Um usuário habilita o modo de ocultação automática clicando no botão de fixar de encaixe enquanto segura a tecla Ctrl

Para habilitar ou desabilitar esse comportamento, chame o método CDockablePane::EnableAutohideAll.

CDockablePane::IsAutoHideMode

Determina se um painel está no modo de ocultação automática.

virtual BOOL IsAutoHideMode() const;

Valor de retorno

TRUE se o painel encaixável estiver no modo de ocultação automática; caso contrário, FALSE.

CDockablePane::IsDocked

Determina se o painel atual está encaixado.

virtual BOOL IsDocked() const;

Valor de retorno

TRUE se o painel encaixável não pertencer a uma janela de miniquadro ou se estiver flutuando em uma janela de miniquadro com outro painel. FALSE se o painel for filho de uma janela de miniquadro e não houver outros painéis que pertençam à janela de miniquadro.

Comentários

Para determinar se o painel está encaixado na janela do quadro principal, chame CDockablePane::GetDefaultPaneDivider. Se o método retornar um ponteiro não NULL, o painel será encaixado na janela de quadro principal.

CDockablePane::IsHideInAutoHideMode

Determina o comportamento de um painel que está no modo de ocultação automática se ele for mostrado (ou ocultado) chamando CDockablePane::ShowPane.

virtual BOOL IsHideInAutoHideMode() const;

Valor de retorno

TRUE se o painel encaixável deve ficar oculto quando estiver no modo de ocultação automática; caso contrário, FALSE.

Comentários

Quando um painel encaixável está no modo de ocultação automática, ele se comporta de maneira diferente de quando você chama ShowPane para ocultar ou mostrar o painel. Esse comportamento é controlado pelo membro estático CDockablePane::m_bHideInAutoHideMode. Se esse membro for TRUE, o painel encaixável e sua barra de ferramentas de ocultação automática relacionada ou botão de ocultação automática será ocultado ou mostrado quando você chamar ShowPane. Caso contrário, o painel encaixável será ativado ou desativado e sua barra de ferramentas de ocultação automática relacionada ou botão de ocultação automática estará sempre visível.

Substitua esse método em uma classe derivada para alterar o comportamento padrão para painéis individuais.

O valor padrão para m_bHideInAutoHideMode é FALSE.

CDockablePane::IsInFloatingMultiPaneFrameWnd

Especifica se o painel está em uma janela de quadro com vários painéis (CMultiPaneFrameWnd Class).

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

Valor de retorno

TRUE se o painel estiver em uma janela de quadro de vários painéis; caso contrário, FALSE.

Comentários

CDockablePane::IsResizable

Especifica se o painel é redimensionável.

virtual BOOL IsResizable() const;

Valor de retorno

TRUE se o painel for redimensionável; caso contrário, FALSE.

Comentários

Por padrão, os painéis encaixáveis são redimensionáveis. Para evitar o redimensionamento, substitua esse método em uma classe derivada e retorne FALSE. Observe que um valor FALSE leva a uma falha ASSERT em CPane::DockPane. Em vez disso, use CDockingManager::AddPane para encaixar um painel em um quadro pai.

Os painéis que não podem ser redimensionados não podem flutuar nem entrar no modo de ocultação automática e estão sempre localizados na borda externa do quadro pai.

CDockablePane::IsTabLocationBottom

Especifica se as guias estão localizadas na parte superior ou inferior do painel.

virtual BOOL IsTabLocationBottom() const;

Valor de retorno

TRUE se as guias estiverem localizadas na parte inferior do painel; FALSE se as guias estiverem localizadas na parte superior do painel.

Comentários

Para obter mais informações, consulte CTabbedPane::IsTabLocationBottom.

CDockablePane::IsTracked

Especifica se um painel está sendo movido pelo usuário.

BOOL IsTracked() const;

Valor de retorno

TRUE se o painel estiver sendo movido; caso contrário, FALSE.

CDockablePane::IsVisible

Determina se o painel está visível.

virtual BOOL IsVisible() const;

Valor de retorno

TRUE se o painel encaixável estiver visível; caso contrário, FALSE.

Comentários

Chame esse método para determinar se um painel encaixável está visível. Você pode usar esse método em vez de chamar CWnd::IsWindowVisible ou testar o estilo WS_VISIBLE. O estado de visibilidade retornado depende de se o modo de ocultação automática está habilitado ou desabilitado e do valor da propriedade CDockablePane::IsHideInAutoHideMode.

Se o painel encaixável estiver no modo de ocultação automática e IsHideInAutoHideMode retornar FALSE, o estado de visibilidade será sempre FALSE.

Se o painel encaixável estiver no modo de ocultação automática e IsHideInAutoHideMode retornar TRUE, o estado de visibilidade dependerá do estado de visibilidade da barra de ferramentas de ocultação automática relacionada.

Se o painel encaixável não estiver no modo de ocultação automática, o estado de visibilidade será determinado pelo método CBasePane::IsVisible.

## CDockablePane::LoadState

Somente para uso Interno. Para conhecer mais detalhes, confira o código-fonte localizado na pasta mfc da instalação do Visual Studio. Por exemplo, %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 se a animação de ocultação automática do painel encaixável está desabilitada.

AFX_IMPORT_DATA static BOOL m_bDisableAnimation;

CDockablePane::m_bHideInAutoHideMode

Determina o comportamento do painel quando o painel está no modo de ocultação automática.

AFX_IMPORT_DATA static BOOL m_bHideInAutoHideMode;

Comentários

Esse valor afeta todos os painéis de encaixe no aplicativo.

Se você definir esse membro como TRUE, os painéis encaixáveis serão ocultos ou mostrados com as barras de ferramentas e os botões de ocultação automática relacionados ao chamar CDockablePane::ShowPane.

Se você definir esse membro como FALSE, os painéis encaixáveis serão ativados ou desativados quando você chamar CDockablePane::ShowPane.

CDockablePane::m_nSlideSteps

Especifica a velocidade de animação do painel quando ele está no modo de ocultação automática.

AFX_IMPORT_DATA static int m_nSlideSteps;

Comentários

Para um efeito de animação mais rápido, diminua esse valor. Para um efeito de animação mais lento, aumente esse valor.

CDockablePane::OnAfterChangeParent

Para conhecer mais detalhes, confira o código-fonte localizado na pasta mfc da instalação do Visual Studio. Por exemplo, %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\

Comentários

CDockablePane::OnAfterDockFromMiniFrame

Chamado pela estrutura quando uma barra de encaixe flutuante se encaixa em uma janela de quadro.

virtual void OnAfterDockFromMiniFrame();

Comentários

Por padrão, esse método não faz nada.

CDockablePane::OnBeforeChangeParent

A estrutura chama esse método antes de alterar o pai do painel.

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

Parâmetros

pWndNewParent
[in] Um ponteiro para a nova janela pai.

bDelay
[in] BOOL que especifica se deve o recálculo do layout de encaixe deve ser atrasado caso o painel esteja desencaixado. Para obter mais informações, consulte CDockablePane::UndockPane.

Comentários

Se o painel estiver encaixado e o novo pai não permitir o encaixe, esse método desencaixará o painel.

Se o painel estiver sendo convertido em um documento com guias, esse método armazenará sua posição de encaixe recente. A estrutura usa a posição de encaixe recente para restaurar a posição do painel quando ele é convertido novamente em um estado encaixado.

CDockablePane::OnBeforeFloat

A estrutura chama esse método antes que um painel faça a transição para um estado flutuante.

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

Parâmetros

rectFloat
[in] Especifica a posição e o tamanho do painel quando ele está em um estado flutuante.

dockMethod
[in] Especifica o método de encaixe. Consulte CPane::DockPane para obter uma lista de valores possíveis.

Valor de retorno

TRUE se o painel puder ficar flutuante; caso contrário, FALSE.

Comentários

Esse método é chamado pela estrutura quando um painel está prestes a flutuar. Você poderá substituir esse método em uma classe derivada se quiser executar qualquer processamento antes que o painel flutue.

CDockablePane::OnPressButtons

Chamado quando o usuário pressiona um botão de título diferente dos botões AFX_HTCLOSE e AFX_HTMAXBUTTON.

virtual void OnPressButtons(UINT nHit);

Parâmetros

nHit
[in] Esse parâmetro não é usado.

Comentários

Se você adicionar um botão personalizado à legenda de um painel encaixável, substitua esse método para receber notificações quando um usuário pressionar o botão.

CDockablePane::OnSlide

Chamado pela estrutura para animar o painel quando ele está no modo de ocultação automática.

virtual void OnSlide(BOOL bSlideOut);

Parâmetros

bSlideOut
[in] TRUE para mostrar o painel; FALSE para ocultar o painel.

Comentários

Substitua esse método em uma classe derivada para implementar efeitos de ocultação automática personalizados.

CDockablePane::RemoveFromDefaultPaneDividier

A estrutura chama esse método quando um painel está sendo desencaixado.

void RemoveFromDefaultPaneDividier();

Comentários

Esse método define o divisor de painel padrão como NULL e remove o painel de seu contêiner.

CDockablePane::ReplacePane

Substitui o painel por um painel especificado.

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

Parâmetros

pBarToReplaceWith
[in] Um ponteiro para um painel encaixável.

dockMethod
[in] Não é usado.

bRegisterWithFrame
[in] Se TRUE, o novo painel será registrado com o gerenciador de encaixe do pai do painel antigo. O novo painel é inserido no índice do painel antigo na lista de painéis que é mantida pelo gerenciador de encaixe.

Valor de retorno

TRUE se a substituição for bem-sucedida; caso contrário, FALSE.

CDockablePane::RestoreDefaultPaneDivider

Quando um painel é desserializado, a estrutura chama esse método para restaurar o divisor de painel padrão.

void RestoreDefaultPaneDivider();

Comentários

O divisor de painel padrão restaurado substituirá o divisor de painel padrão atual, se existir.

CDockablePane::SetAutoHideMode

Alterna o painel de encaixe entre os modos visível e de ocultação automática.

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

Parâmetros

bMode
[in] TRUE para habilitar o modo de ocultação automática; FALSE para habilitar o modo de encaixe regular.

dwAlignment
[in] Especifica o alinhamento do painel de ocultação automática a ser criado.

pCurrAutoHideBar
[in, out] Um ponteiro para a barra de ferramentas de ocultação automática atual. Pode ser NULL.

bUseTimer
[in] Especifica se é necessário usar o efeito de ocultação automática quando o usuário alterna o painel para o modo de ocultação automática ou oculta o painel imediatamente.

Valor de retorno

A barra de ferramentas de ocultação automática que foi criada como resultado da mudança para o modo de ocultação automática ou NULL.

Comentários

A estrutura chama esse método quando um usuário clica no botão fixar para alternar o painel encaixável para o modo de ocultação automática ou para o modo de encaixe regular.

Chame esse método para alternar um painel encaixável para o modo de ocultação automática de maneira programática. O painel deve ser encaixado na janela do quadro principal (CDockablePane::GetDefaultPaneDivider deve retornar um ponteiro válido para o CPaneDivider).

CDockablePane::SetAutoHideParents

Define o botão de ocultamento automático e a barra de ferramentas de ocultação automática para o painel.

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

Parâmetros

pToolBar
[in] Ponteiro para uma barra de ferramentas de ocultação automática.

pBtn
[in] Ponteiro para um botão de ocultamento automático.

CDockablePane::SetLastPercentInPaneContainer

Define o percentual de espaço que um painel ocupa em seu contêiner.

void SetLastPercentInPaneContainer(int n);

Parâmetros

n
[in] Um int que especifica o percentual de espaço que o painel ocupa em seu contêiner.

Comentários

A estrutura ajusta o painel para usar o novo valor quando o layout é recalculado.

CDockablePane::SetRestoredDefaultPaneDivider

Define o divisor de painel padrão restaurado.

void SetRestoredDefaultPaneDivider(HWND hRestoredSlider);

Parâmetros

hRestoredSlider
[in] Um identificador para um divisor de painel (controle deslizante).

Comentários

Um divisor de painel padrão restaurado é obtido quando um painel é desserializado. Para obter mais informações, consulte CDockablePane::RestoreDefaultPaneDivider.

CDockablePane::SetTabbedPaneRTC

Define as informações de classe de runtime para uma janela com guias criada quando dois painéis se encaixam.

void SetTabbedPaneRTC(CRuntimeClass* pRTC);

Parâmetros

pRTC
[in] As informações de classe de runtime para o painel com guias.

Comentários

Chame esse método para definir as informações de classe de runtime para painéis com guias criados dinamicamente. Isso pode ocorrer quando um usuário arrasta um painel para a legenda de outro painel ou se você chamar o método CDockablePane::AttachToTabWnd para criar programaticamente um painel com guias de dois painéis encaixáveis.

A classe de runtime padrão é definida de acordo com o parâmetro dwTabbedStyle de CDockablePane::Create e CDockablePane::CreateEx. Para personalizar os novos painéis com guias, derive sua classe de uma das seguintes classes:

Em seguida, chame esse método com o ponteiro para suas informações de classe de runtime.

CDockablePane::ShowPane

Mostra ou oculta um painel.

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

Parâmetros

bShow
[in] TRUE para mostrar o painel; FALSE para ocultar o painel.

bDelay
[in] TRUE para atrasar o ajuste do layout de encaixe; FALSE para ajustar o layout de encaixe imediatamente.

bActivate
[in] TRUE para ativar o painel quando mostrado; caso contrário, FALSE.

Comentários

Chame esse método em vez de CWnd::ShowWindow ao mostrar ou ocultar painéis encaixáveis.

CDockablePane::Slide

Anima um painel que está no modo de ocultação automática.

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

Parâmetros

bSlideOut
[in] TRUE para mostrar o painel; FALSE para ocultar o painel.

bUseTimer
[in] TRUE para mostrar ou ocultar o painel com o efeito de ocultação automática; FALSE para mostrar ou ocultar o painel imediatamente.

Comentários

A estrutura chama esse método para animar um painel que está no modo de ocultação automática.

Esse método usa o valor CDockablePane::m_nSlideDefaultTimeOut para determinar o tempo limite para o efeito de deslizamento. O valor padrão para o tempo limite é 1. Se você personalizar o algoritmo de ocultação automática, modifique esse membro para alterar o tempo limite.

CDockablePane::ToggleAutoHide

Alterna o painel entre o modo sempre visível e o modo de ocultação automática.

virtual void ToggleAutoHide();

Comentários

Esse método alterna o modo de ocultação automática para o painel chamando CDockablePane::SetAutoHideMode.

CDockablePane::UndockPane

Desencaixa um painel da janela de quadro principal ou de um contêiner de janela de miniquadro.

virtual void UndockPane(BOOL bDelay = FALSE);

Parâmetros

bDelay
[in] TRUE para atrasar o cálculo do layout de encaixe; FALSE para recalcular o layout de encaixe imediatamente.

Comentários

Chame esse método para desencaixar um painel da janela de quadro principal ou de um contêiner de janela de miniquadro múltiplo (um painel que está flutuando em uma só janela de miniquadro com outros painéis).

Você deve desencaixar um painel antes de executar qualquer operação externa que não seja executada pelo CDockingManager. Por exemplo, você deve desencaixar um painel para movê-lo programaticamente de um local para outro.

A estrutura desencaixa automaticamente painéis antes de eles serem destruídos.

Confira também

Gráfico da hierarquia
Classes
Classe CPane