CDockablePane
Classe
Implementa um painel que pode ser encaixado em um site de doca ou incluído em um painel com guias.
Sintaxe
class CDockablePane : public CPane
Membros
Construtores Públicos
Designação | Descrição |
---|---|
CDockablePane::CDockablePane |
Constrói e inicializa um objeto CDockablePane . |
Métodos Públicos
Designação | Descrição |
---|---|
CDockablePane::AttachToTabWnd |
Anexa um painel a outro painel. Isso cria um painel com guias. |
CDockablePane::CalcFixedLayout |
Retorna o tamanho do retângulo do painel. |
CDockablePane::CanAcceptMiniFrame |
Determina se o mini quadro especificado pode ser encaixado no painel. |
CDockablePane::CanAcceptPane |
Determina se outro painel pode ser encaixado no painel atual. |
CDockablePane::CanAutoHide |
Determina se o painel suporta o 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 guias 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 à medida que 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 a partir do painel atual. |
CDockablePane::DockPaneContainer |
Encaixa um contêiner no painel. |
CDockablePane::DockPaneStandard |
Encaixa um painel usando o encaixe de estrutura de tópicos (padrão). |
CDockablePane::DockToFrameWindow |
Usado internamente. Para encaixar um painel, use CPane::DockPane ou CDockablePane::DockToWindow . |
CDockablePane::DockToRecentPos |
Encaixa um painel na posição de ancoragem recente armazenada. |
CDockablePane::DockToWindow |
Encaixa um painel de encaixe em outro painel de encaixe. |
CDockablePane::EnableAutohideAll |
Habilita ou desabilita o modo de ocultação automática para este painel juntamente 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 ser encaixado com base no local do ponteiro fornecido. |
CDockablePane::GetDragSensitivity |
Retorna a sensibilidade de arrasto de um painel de encaixe. |
CDockablePane::GetLastPercentInPaneContainer |
Recupera a porcentagem de espaço que um painel ocupa dentro de seu contêiner. |
CDockablePane::GetTabArea |
Recupera a área da guia do painel. |
CDockablePane::GetTabbedPaneRTC |
Retorna as informações da classe de tempo de execução sobre uma janela com guias que é criada quando outro painel encaixa no painel atual. |
CDockablePane::HasAutoHideMode |
Especifica se um painel de encaixe pode ser alternado para o modo de ocultação automática. |
CDockablePane::HitTest |
Especifica o local específico em um painel onde o usuário clica em um 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 oculto) chamando ShowPane . |
CDockablePane::IsInFloatingMultiPaneFrameWnd |
Especifica se o painel está em uma janela de quadro de 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 atual 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 ancoragem flutuante atraca em uma janela de quadro. |
CDockablePane::OnBeforeChangeParent |
Chamado pela estrutura quando o pai do painel está prestes a mudar. (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 como 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 o modo de ocultação automática. |
CDockablePane::SetAutoHideParents |
Define o botão de ocultação automática e a barra de ferramentas de ocultação automática para o painel. |
CDockablePane::SetDefaultPaneDivider |
Usado internamente. |
CDockablePane::SetLastPercentInPaneContainer |
Define a porcentagem 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 da classe de tempo de execução para uma janela com guias que é 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 que é 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 do 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
Designação | 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 legenda diferente dos botões AFX_HTCLOSE e AFX_HTMAXBUTTON . |
CDockablePane::OnSlide |
Chamado pela estrutura para renderizar o efeito de slide de ocultação automática quando o painel é mostrado ou oculto. |
Membros de dados
Designação | Descrição |
---|---|
CDockablePane::m_bDisableAnimation |
Especifica se a animação de ocultação automática do painel encaixável está desativada. |
CDockablePane::m_bHideInAutoHideMode |
Determina o comportamento do painel quando ele está no modo de ocultação automática. |
CDockablePane::m_nSlideSteps |
Especifica a velocidade da animação do painel quando ele está sendo mostrado ou oculto quando no modo de ocultação automática. |
Comentários
CDockablePane
implementa a seguinte funcionalidade:
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 separadores.
Flutuando um painel em uma janela de miniquadro.
Encaixar um painel em outro painel que está flutuando em uma janela de miniquadro.
Redimensionamento de um painel.
Carregando e salvando o estado de um painel de encaixe.
Observação
As informações de estado são salvas no registro do Windows.
Criar um painel com ou sem legenda. A legenda pode ter um rótulo de texto e pode ser preenchida com uma cor gradiente.
Arrastar um painel enquanto exibe o conteúdo do painel
Arrastar um painel enquanto exibe um retângulo de arrasto.
Para usar um painel de encaixe em seu aplicativo, derive sua classe de painel da classe CDockablePane
. Incorpore o objeto derivado no objeto de janela do quadro principal ou em um objeto de janela que controle a instância do seu painel. Em seguida, chame o método CDockablePane::Create
ou o método CDockablePane::CreateEx
quando processar a mensagem WM_CREATE
na janela do quadro principal. Por fim, configure o objeto de painel chamando CBasePane::EnableDocking
, CBasePane::DockPane
ou CDockablePane::AttachToTabWnd
.
Dicas de personalização
As dicas a seguir se aplicam a CDockablePane
objetos:
Se você chamar
CDockablePane::AttachToTabWnd
para dois painéis encaixáveis sem guias, um ponteiro para uma janela com guias será retornado no parâmetroppTabbedControlBar
. Você pode continuar a adicionar guias à janela com guias usando esse parâmetro.O tipo de painel com guias criado por
CDockablePane::AttachToTabWnd
é determinado pelo objetoCDockablePane
no parâmetropTabControlBarAttachTo
. Você pode chamarCDockablePane::SetTabbedPaneRTC
para definir o tipo de painel com guias que oCDockablePane
criará. O tipo padrão é determinado pelodwTabbedStyle
deCDockablePane::Create
quando você cria oCDockablePane
pela primeira vez. SedwTabbedStyle
estiverAFX_CBRS_OUTLOOK_TABS
o tipo padrão seráCMFCOutlookBar
Classe; sedwTabbedStyle
forAFX_CBRS_REGULAR_TABS
o tipo padrão seráCTabbedPane
Classe.Se você quiser encaixar um painel encaixável para outro, chame o método
CDockablePane::DockToWindow
. O painel original deve ser encaixado em algum lugar antes de chamar esse método.A variável membro
CDockablePane::m_bHideInAutoHideMode
controla como os painéis encaixáveis se comportam no modo de ocultação automática quando você chamaCDockablePane::ShowPane
. Se essa variável de membro estiver definida comoTRUE
, os painéis encaixáveis e seus botões de ocultação automática ficarão ocultos. Caso contrário, eles entrarão e sairão.Você pode desativar a animação de ocultação automática definindo a variável de membro
CDockablePane::m_bDisableAnimation
comoTRUE
.
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 ocultar automaticamente tudo 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. Este trecho 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
Requerimentos
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
[dentro, fora] Especifica o painel de destino ao qual o painel atual se conecta. O painel de destino deve ser um painel encaixável.
dockMethod
[em] Especifica o método de encaixe.
bSetActive
[em] TRUE
ativar o painel com guias após a operação de anexação; caso contrário, FALSE
.
ppTabbedControlBar
[saídas] Contém o painel com guias que resulta da operação 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 anexar. O valor de retorno é NULL
se o painel atual não puder ser anexado ou se ocorrer um erro.
Comentários
Quando um painel encaixável se conecta a outro painel usando esse método, ocorre o seguinte:
A estrutura verifica se o painel de destino
pTabControlBarAttachTo
é um painel de encaixe regular ou se é derivado deCBaseTabbedPane
.Se o painel de destino for um painel com guias, a estrutura adicionará o painel atual a ele como uma guia.
Se o painel de destino for um painel de encaixe regular, a estrutura criará um painel com guias.
O quadro chama
pTabControlBarAttachTo->CreateTabbedPane
. O estilo do novo painel com guias depende do membrom_pTabbedControlBarRTC
. Por padrão, esse membro é definido como a classe de tempo de execução deCTabbedPane
. Se você passar o estiloAFX_CBRS_OUTLOOK_TABS
como o parâmetrodwTabbedStyle
para o métodoCDockablePane::Create
, o objeto de classe de tempo de execução será definido como a classe de tempo de execução deCMFCOutlookBar
. 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 flutuante 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.
Se o painel atual for derivado de
CBaseTabbedPane
, todas as guias serão movidas parapTabControlBarAttachTo
e o painel atual será destruído. Portanto, tenha cuidado ao chamar esse método, porque um ponteiro para o painel atual pode ser inválido quando o método retorna.
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
[em] Não utilizado.
bHorz
[em] Não utilizado.
Valor de retorno
Um objeto CSize
que contém o tamanho do retângulo do painel.
CDockablePane::CanAcceptMiniFrame
Determina se o miniquadro especificado pode ser encaixado no painel.
virtual BOOL CanAcceptMiniFrame(CPaneFrameWnd* pMiniFrame) const;
Parâmetros
pMiniFrame
[em] Ponteiro para um objeto CPaneFrameWnd
.
Valor de retorno
TRUE
se pMiniFrame
pode 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
[em] Especifica o painel a ser encaixado no painel atual.
Valor de retorno
TRUE
se o painel especificado pode ser encaixado nesse 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 retorna TRUE
se 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 pode ocultar-se automaticamente; caso contrário, FALSE
.
Comentários
CDockablePane::CanAutoHide
retorna FALSE
em qualquer uma das seguintes situações:
O painel não tem pai.
O gestor de ancoragem 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 pode ser encaixado em outro painel ou na janela do 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 guias MDI.
virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);
Parâmetros
bActiveTabOnly
[em] 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
[em] TRUE
se o painel estiver visível; FALSE
se o painel estiver oculto.
Valor de retorno
TRUE
se a condição de paragem for cumprida; caso contrário, FALSE
.
Comentários
Quando um painel encaixável é definido para o 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 personalizados de ocultação automática.
CDockablePane::CopyState
Copia o estado de um painel encaixável.
virtual void CopyState(CDockablePane* pOrgBar);
Parâmetros
pOrgBar
[em] 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
[em] Especifica o nome da janela.
pParentWnd
[dentro, fora] Especifica a janela pai.
rect
[em] Especifica o tamanho e a posição da janela, nas coordenadas do cliente de pParentWnd
.
bHasGripper
[em] TRUE
criar o painel com uma legenda; caso contrário, FALSE
.
nID
[em] Especifica a ID da janela filho. Esse valor deve ser exclusivo se você quiser salvar o estado de encaixe para este painel de encaixe.
dwStyle
[em] Especifica os atributos de estilo de janela.
dwTabbedStyle
[em] Especifica o estilo com guias de uma janela com guias que é criada quando o usuário arrasta um painel na legenda desse painel.
dwControlBarStyle
[em] Especifica atributos de estilo adicionais.
pContext
[dentro, fora] Especifica o contexto de criação da janela.
lpszWindowName
[em] Especifica o nome da janela.
sizeDefault
[em] 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 de janela dwStyle
tiver a bandeira CBRS_FLOAT_MULTI
, a janela de miniquadro pode 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 do Outlook quando outro painel for anexado a esse painel usando o método CDockablePane::AttachToTabWnd
. Por padrão, os painéis encaixáveis criam painéis com guias regulares do tipo CTabbedPane
.
CDockablePane::CreateDefaultPaneDivider
Cria um divisor padrão para o painel à medida que ele está sendo encaixado em uma janela de quadro.
static CPaneDivider* __stdcall CreateDefaultPaneDivider(
DWORD dwAlignment,
CWnd* pParent,
CRuntimeClass* pSliderRTC = NULL);
Parâmetros
dwAlignment
[em] 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
, este método cria um divisor vertical (CPaneDivider::SS_VERT
); caso contrário, este método cria um divisor horizontal (CPaneDivider::SS_HORZ
).
pParent
[em] Ponteiro para o quadro pai.
pSliderRTC
[em] Não utilizado.
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 do cliente de uma janela de quadro. |
CBRS_ALIGN_BOTTOM |
O painel está sendo encaixado na parte inferior da área do cliente de uma janela de quadro. |
CBRS_ALIGN_LEFT |
O painel está sendo encaixado no lado esquerdo da área do cliente de uma janela de quadro. |
CBRS_ALIGN_RIGHT |
O painel está sendo encaixado no lado direito da área do 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
[em] Especifica os atributos de estilo estendido para a nova janela.
lpszCaption
[em] Especifica o nome da janela.
pParentWnd
[dentro, fora] Especifica a janela pai.
rect
[em] Especifica o tamanho e a posição da janela, nas coordenadas do cliente de pParentWnd
.
bHasGripper
[em] TRUE
criar o painel com uma legenda; caso contrário, FALSE
.
nID
[em] Especifica a ID da janela filho. Esse valor deve ser exclusivo se você quiser salvar o estado de encaixe para este painel de encaixe.
dwStyle
[em] Especifica os atributos de estilo de janela.
dwTabbedStyle
[em] Especifica o estilo com guias de uma janela com guias que é criada quando o usuário arrasta um painel na legenda desse painel.
dwControlBarStyle
[em] Especifica os atributos de estilo adicionais.
pContext
[dentro, fora] 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 de janela dwStyle
tiver a bandeira CBRS_FLOAT_MULTI
, a janela de miniquadro pode 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 do Outlook quando outro painel for anexado a esse painel usando o método CDockablePane::AttachToTabWnd
. Por padrão, os painéis encaixáveis criam painéis com guias regulares do tipo CTabbedPane
.
CDockablePane::CreateTabbedPane
Cria um painel com guias a partir do painel atual.
virtual CTabbedPane* CreateTabbedPane();
Valor de retorno
O novo painel com guias ou NULL
se a operação de criação falhar.
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 guias são criados e inicializados.
O painel com guias é criado de acordo com as informações da classe de tempo de execução armazenadas no membro m_pTabbedControlBarRTC
, que é inicializado 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
[em] Uma referência ao gestor de contentores do contentor que está a ser ancorado.
dwAlignment
[em] DWORD
que especifica o lado do painel ao qual o contêiner está sendo encaixado.
dockMethod
[em] Não utilizado.
Valor de retorno
TRUE
se o contêiner foi 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 estrutura de tópicos (padrão).
virtual CPane* DockPaneStandard(BOOL& bWasDocked);
Parâmetros
bWasDocked
[em] Quando o método retorna, esse valor contém TRUE
se o painel foi encaixado com êxito; caso contrário, contém FALSE
.
Valor de retorno
Se o painel foi encaixado em uma janela com guias, ou se uma janela com guias foi criada como resultado do encaixe, esse método retorna um ponteiro para a janela com guias. Se o painel foi encaixado com êxito, esse método retorna o ponteiro this
. Se o encaixe falhar, esse método retornará NULL
.
CDockablePane::DockToRecentPos
Encaixa um painel na posição de encaixe armazenada.
BOOL CDockablePane::DockToRecentPos();
Valor de retorno
TRUE
se o painel estiver encaixado com êxito; caso contrário, FALSE
.
Comentários
Os painéis encaixáveis armazenam informações de encaixe recentes em um objeto CRecentDockSiteInfo
.
CDockablePane::DockToWindow
Encaixa um painel de encaixe em outro painel de encaixe.
virtual BOOL DockToWindow(
CDockablePane* pTargetWindow,
DWORD dwAlignment,
LPCRECT lpRect = NULL);
Parâmetros
pTargetWindow
[dentro, fora] Especifica o painel encaixável ao qual este painel deve ser encaixado.
dwAlignment
[em] Especifica o alinhamento de encaixe para o painel. Pode ser um dos CBRS_ALIGN_LEFT
, CBRS_ALIGN_TOP
, CBRS_ALIGN_RIGHT
, CBRS_ALIGN_BOTTOM
ou CBRS_ALIGN_ANY
. (Definido em afxres.h
.)
lpRect
[em] Especifica o retângulo de encaixe para o painel.
Valor de retorno
TRUE
se o painel foi 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 ancoragem.
virtual void DrawCaption(
CDC* pDC,
CRect rectCaption);
Parâmetros
pDC
[em] Representa o contexto do dispositivo usado para desenhar.
rectCaption
[em] 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 ativar o recurso Autohide All para o painel encaixável; caso contrário, FALSE
.
Comentários
Quando um usuário mantém pressionada a tecla Ctrl e clica no botão de pino 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
[em] TRUE
para ativar 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 cliente que é controlada pela estrutura, mas essa área difere 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 é flutuado 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 slide de ocultação automática para o painel.
virtual UINT GetAHSlideMode() const;
Valor de retorno
Um UINT
que especifica o modo de slide de ocultação automática para o painel. O valor de retorno pode ser AFX_AHSM_MOVE
ou AFX_AHSM_STRETCH
, mas a implementação usa apenas AFX_AHSM_MOVE
.
Comentários
CDockablePane::GetCaptionHeight
Devolve a altura, em píxeis, da legenda atual.
virtual int GetCaptionHeight() const;
Valor de retorno
A altura da legenda, em pixels.
Comentários
A altura da legenda é 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 do quadro principal ou NULL
se o painel encaixável não estiver encaixado ou se estiver flutuando.
Comentários
Para obter mais informações sobre divisores de painel, consulte CPaneDivider
Class.
CDockablePane::GetDockingStatus
Determina a capacidade de um painel ser encaixado com base no local do ponteiro fornecido.
virtual AFX_CS_STATUS GetDockingStatus(
CPoint pt,
int nSensitivity);
Parâmetros
pt
[em] A localização do ponteiro nas coordenadas da tela.
nSensitivity
[em] A distância, em pixels, da borda de um retângulo que o ponteiro deve estar para permitir o encaixe.
Valor de retorno
Um dos seguintes valores de status:
Valor AFX_CS_STATUS |
Significado |
---|---|
CS_NOTHING |
O ponteiro não está sobre um local de doca. A estrutura não encaixa o painel. |
CS_DOCK_IMMEDIATELY |
O ponteiro está localizado sobre o local da doca no modo imediato (o painel usa o modo de ancoragem DT_IMMEDIATE ). A estrutura encaixa o painel imediatamente. |
CS_DELAY_DOCK |
O ponteiro está sobre um local de doca que é outro painel de encaixe ou é uma borda do quadro principal. A estrutura encaixa o painel após um atraso. Consulte a secção Observações para obter mais informações sobre este atraso. |
CS_DELAY_DOCK_TO_TAB |
O ponteiro está localizado sobre um site de doca 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 da guia 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 do cliente do quadro pai antes que o encaixe ocorra. O comprimento do atraso é medido em milissegundos e é controlado 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 encaixe até que o usuário libere o botão do mouse. Se um painel usar o modo de ancoragem 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 para o painel, chame o método CBasePane::SetDockingMode
. Para obter mais informações sobre ancoragem inteligente, consulte CDockingManager::GetSmartDockingParams
.
CDockablePane::GetDragSensitivity
Retorna a sensibilidade de arrasto 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 centrado em um ponto de arrasto. A operação de arrastar não começa até que o ponteiro do mouse se mova para fora desse retângulo.
CDockablePane::GetLastPercentInPaneContainer
Recupera a porcentagem de espaço que um painel ocupa em seu contêiner ( CPaneContainer
Classe).
int GetLastPercentInPaneContainer() const;
Valor de retorno
Um int
que especifica a porcentagem de espaço que o painel ocupa em seu contêiner.
Comentários
Este método é usado quando o contêiner ajusta seu layout.
CDockablePane::GetTabArea
Recupera a área da guia do painel.
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const;
Parâmetros
rectTabAreaTop
[in] GetTabArea
preenche essa variável com a área da guia 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
preenche 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 somente em classes derivadas de CDockablePane
e com guias. Para obter mais informações, consulte CTabbedPane::GetTabArea
e CMFCOutlookBar::GetTabArea
.
CDockablePane::GetTabbedPaneRTC
Retorna as informações da classe de tempo de execução sobre uma janela com guias que é criada quando outro painel encaixa no painel atual.
CRuntimeClass* GetTabbedPaneRTC() const;
Valor de retorno
As informações de classe de tempo de execução para o painel encaixável.
Comentários
Chame esse método para recuperar as informações de classe de tempo de execução 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 a partir de dois painéis encaixáveis.
Você pode definir as informações da classe de tempo de execução 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 pode 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 onde o usuário clica em um mouse.
virtual int HitTest(
CPoint point,
BOOL bDetectCaption = FALSE);
Parâmetros
point
[em] Especifica o ponto a ser testado.
bDetectCaption
[em] 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
sepoint
não estiver no painel encaixável.HTCLIENT
sepoint
estiver na área do cliente do painel encaixável.HTCAPTION
sepoint
estiver na área de legenda do painel encaixável.AFX_HTCLOSE
sepoint
estiver no botão Fechar.HTMAXBUTTON
sepoint
estiver no botão de pino.
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 podem 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 encaixe enquanto mantém pressionada 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ãoNULL
, o painel será encaixado na janela do quadro principal.
CDockablePane::IsHideInAutoHideMode
Determina o comportamento de um painel que está no modo de ocultação automática se ele for mostrado (ou oculto) chamando CDockablePane::ShowPane
.
virtual BOOL IsHideInAutoHideMode() const;
Valor de retorno
TRUE
se o painel encaixável deve estar oculto quando 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 forma diferente quando você chama ShowPane
para ocultar ou mostrar o painel. Esse comportamento é controlado pelo membro estático CDockablePane::m_bHideInAutoHideMode
. Se esse membro estiver TRUE
, o painel encaixável e sua barra de ferramentas ou botão de ocultação automática relacionados estarão ocultos ou serão mostrados quando você chamar ShowPane
. Caso contrário, o painel encaixável será ativado ou desativado e sua barra de ferramentas ou botão de ocultação automática relacionado 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
no CPane::DockPane
. Em vez disso, use CDockingManager::AddPane
para encaixar um painel dentro de 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 está sendo movido; caso contrário, FALSE
.
CDockablePane::IsVisible
Determina se o painel atual 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 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
Apenas para uso interno. Para obter mais detalhes, consulte 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 ele 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 ficarão ocultos ou serão mostrados com suas barras de ferramentas e botões de ocultação automática relacionados quando você 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 da 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 obter mais detalhes, consulte 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
[em] pWndOldParent
Comentários
CDockablePane::OnAfterDockFromMiniFrame
Chamado pela estrutura quando uma barra de ancoragem flutuante atraca 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
[em] Um ponteiro para a nova janela pai.
bDelay
[em] BOOL que especifica se o recálculo do layout de encaixe deve ser retardado se o painel estiver desencaixado. Para obter mais informações, consulte CDockablePane::UndockPane
.
Comentários
Se o painel estiver encaixado e o novo pai não permitir 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 de volta para 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
[em] Especifica a posição e o tamanho do painel quando ele está em um estado flutuante.
dockMethod
[em] Especifica o método de encaixe. Consulte CPane::DockPane
para obter uma lista de valores possíveis.
Valor de retorno
TRUE
se o painel pode ser flutuado; caso contrário, FALSE
.
Comentários
Esse método é chamado pela estrutura quando um painel está prestes a flutuar. Você pode 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 legenda diferente dos botões AFX_HTCLOSE
e AFX_HTMAXBUTTON
.
virtual void OnPressButtons(UINT nHit);
Parâmetros
nHit
[em] Este 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
[em] TRUE
para mostrar o painel; FALSE
ocultar o painel.
Comentários
Substitua esse método em uma classe derivada para implementar efeitos personalizados de ocultação automática.
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
[em] Um ponteiro para um painel encaixável.
dockMethod
[em] Não utilizado.
bRegisterWithFrame
[em] Se TRUE
, o novo painel é registrado no gerenciador de encaixe do pai do painel antigo. O novo painel é inserido no índice do painel antigo na lista de painéis 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 substitui o divisor de painel padrão atual, se ele existir.
CDockablePane::SetAutoHideMode
Alterna o painel de encaixe entre o modo visível e o modo de ocultação automática.
virtual CMFCAutoHideBar* SetAutoHideMode(
BOOL bMode,
DWORD dwAlignment,
CMFCAutoHideBar* pCurrAutoHideBar = NULL,
BOOL bUseTimer = TRUE);
Parâmetros
bMode
[in] TRUE
para ativar o modo de ocultação automática; FALSE
ativar o modo de ancoragem regular.
dwAlignment
[em] Especifica o alinhamento do painel de ocultação automática a ser criado.
pCurrAutoHideBar
[dentro, fora] Um ponteiro para a barra de ferramentas de ocultação automática atual. Pode ser NULL
.
bUseTimer
[em] Especifica se o efeito de ocultação automática deve ser usado quando o usuário alterna o painel para o modo de ocultação automática ou se o painel deve ser ocultado 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 de pino 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 ocultar automaticamente o modo programaticamente. 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 ocultação automática e a barra de ferramentas de ocultação automática para o painel.
void SetAutoHideParents(
CMFCAutoHideBar* pToolBar,
CMFCAutoHideButton* pBtn);
Parâmetros
pToolBar
[em] Ponteiro para uma barra de ferramentas de ocultação automática.
pBtn
[em] Ponteiro para um botão de ocultação automática.
CDockablePane::SetLastPercentInPaneContainer
Define a porcentagem de espaço que um painel ocupa em seu contêiner.
void SetLastPercentInPaneContainer(int n);
Parâmetros
n
[em] Um int
que especifica a porcentagem 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
[em] Uma alça 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 da classe de tempo de execução para uma janela com guias que é criada quando dois painéis se encaixam.
void SetTabbedPaneRTC(CRuntimeClass* pRTC);
Parâmetros
pRTC
[em] As informações de classe de tempo de execução para o painel com guias.
Comentários
Chame esse método para definir as informações de classe de tempo de execução para painéis com guias que são 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 a partir de dois painéis encaixáveis.
A classe de tempo de execução 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 tempo de execução.
CDockablePane::ShowPane
Mostra ou oculta um painel.
virtual void ShowPane(
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
Parâmetros
bShow
[em] TRUE
para mostrar o painel; FALSE
ocultar o painel.
bDelay
[em] TRUE
atrasar o ajuste do layout de ancoragem; FALSE
ajustar o layout de encaixe imediatamente.
bActivate
[em] TRUE
ativar o painel quando mostrado; caso contrário, FALSE
.
Comentários
Chame esse método em vez do 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
[em] TRUE
para mostrar o painel; FALSE
ocultar o painel.
bUseTimer
[em] TRUE
para mostrar ou ocultar o painel com o efeito de ocultação automática; FALSE
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 slide. 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
Este método alterna o modo de ocultação automática para o painel chamando CDockablePane::SetAutoHideMode
.
CDockablePane::UndockPane
Desencaixa um painel da janela do quadro principal ou de um contêiner de janela de miniquadro.
virtual void UndockPane(BOOL bDelay = FALSE);
Parâmetros
bDelay
[em] TRUE
atrasar o cálculo do layout de ancoragem; FALSE
recalcular o layout de encaixe imediatamente.
Comentários
Chame esse método para desencaixar um painel da janela do quadro principal ou de um contêiner de janela de vários miniquadros (um painel que está flutuando em uma única 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 os painéis antes que eles sejam destruídos.