Partilhar via


Classe CDockingManager

Implementa a funcionalidade principal que controla o layout de encaixe em uma janela de quadro principal.

Sintaxe

class CDockingManager : public CObject

Membros

Métodos públicos

Nome Descrição
CDockingManager::AddDockSite Cria um painel de encaixe e o adiciona à lista de barras de controle.
CDockingManager::AddHiddenMDITabbedBar Adiciona um identificador a um painel de barras à lista de painéis de barras com guia MDI ocultos.
CDockingManager::AddMiniFrame Adiciona um quadro à lista de minimolduras.
CDockingManager::AddPane Registra um painel com o gerenciador de encaixe.
CDockingManager::AdjustDockingLayout Recalcula e ajusta o layout de todos os painéis em uma janela de quadro.
CDockingManager::AdjustPaneFrames Faz com que a mensagem WM_NCCALCSIZE seja enviada para todos os painéis e janelas CPaneFrameWnd.
CDockingManager::AdjustRectToClientArea Ajusta o alinhamento de um retângulo.
CDockingManager::AlignAutoHidePane Redimensiona um painel de encaixe no modo de ocultação automática para que ele ocupe toda a largura ou altura da área do cliente do quadro cercada por locais de encaixe.
CDockingManager::AutoHidePane Cria uma barra de ferramentas de controle automático.
CDockingManager::BringBarsToTop Coloca na parte superior as barras encaixadas que têm o alinhamento especificado.
CDockingManager::BuildPanesMenu Adiciona nomes de painéis de encaixe e barras de ferramentas a um menu.
CDockingManager::CalcExpectedDockedRect Calcula o retângulo esperado de uma janela encaixada.
CDockingManager::Create Cria um gerenciador de encaixe.
CDockingManager::DeterminePaneAndStatus Determina o painel que contém um determinado ponto e seu status de encaixe.
CDockingManager::DisableRestoreDockState Habilita ou desabilita o carregamento do layout de encaixe do Registro.
CDockingManager::DockPane Encaixa um painel em outro painel ou em uma janela de quadro.
CDockingManager::DockPaneLeftOf Encaixa um painel à esquerda de outro painel.
CDockingManager::EnableAutoHidePanes Habilita o encaixe do painel ao quadro principal, cria um painel de encaixe e o adiciona à lista de barras de controle.
CDockingManager::EnableDocking Cria um painel de encaixe e permite o encaixe do painel no quadro principal.
CDockingManager::EnableDockSiteMenu Exibe um botão adicional que abre um menu pop-up nas legendas de todos os painéis de encaixe.
CDockingManager::EnablePaneContextMenu Informa à biblioteca para exibir um menu de contexto especial que tem uma lista de barras de ferramentas de aplicativo e painéis de encaixe quando o usuário clica no botão direito do mouse e a biblioteca está processando a mensagem WM_CONTEXTMENU.
CDockingManager::FindDockSite Recupera o painel de barras que está na posição especificada e que tem o alinhamento especificado.
CDockingManager::FindDockSiteByPane Retorna o painel de barras que tem a ID do painel de barras de destino.
CDockingManager::FindPaneByID Localiza um painel pela ID de controle especificada.
CDockingManager::FixupVirtualRects Confirma todas as posições atuais da barra de ferramentas em retângulos virtuais.
CDockingManager::FrameFromPoint Retorna o quadro que contém o ponto determinado.
CDockingManager::GetClientAreaBounds Obtém o retângulo que contém os limites da área de cliente.
CDockingManager::GetDockingMode Retorna o modo de encaixe atual.
CDockingManager::GetDockSiteFrameWnd Obtém um ponteiro para o quadro de janela pai.
CDockingManager::GetEnabledAutoHideAlignment Retorna o alinhamento habilitado dos painéis.
CDockingManager::GetMiniFrames Obtém uma lista de minimolduras.
CDockingManager::GetOuterEdgeBounds Obtém um retângulo que contém as bordas externas do quadro.
CDockingManager::GetPaneList Retorna uma lista de painéis que pertencem ao gerenciador de encaixe. Isso inclui todos os painéis flutuantes.
CDockingManager::GetSmartDockingManager Recupera um ponteiro para o gerenciador de encaixe inteligente.
CDockingManager::GetSmartDockingManagerPermanent Recupera um ponteiro para o gerenciador de encaixe inteligente.
CDockingManager::GetSmartDockingParams Retorna os parâmetros de encaixe inteligente para o gerenciador de encaixe.
CDockingManager::GetSmartDockingTheme Um método estático que retorna um tema usado para exibir marcadores de encaixe inteligentes.
CDockingManager::HideAutoHidePanes Oculta um painel que está no modo de ocultação automática.
CDockingManager::InsertDockSite Cria um painel de encaixe e o insere na lista de barras de controle.
CDockingManager::InsertPane Insere um painel de controle na lista de barras de controle.
CDockingManager::IsDockSiteMenu Especifica se um menu pop-up é exibido nas legendas de todos os painéis.
CDockingManager::IsInAdjustLayout Determina se os layouts de todos os painéis são ajustados.
CDockingManager::IsOLEContainerMode Especifica se o gerenciador de encaixe está no modo de contêiner OLE.
CDockingManager::IsPointNearDockSite Determina se um ponto especificado está próximo ao local de encaixe.
CDockingManager::IsPrintPreviewValid Determina se o modo de visualização de impressão está definido.
CDockingManager::LoadState Carrega o estado do gerenciador de encaixe do Registro.
CDockingManager::LockUpdate Bloqueia a janela fornecida.
CDockingManager::OnActivateFrame Chamado pela estrutura quando a janela de quadro é ativada ou desativada.
CDockingManager::OnClosePopupMenu Chamado pela estrutura quando um menu pop-up ativo processa uma mensagem WM_DESTROY.
CDockingManager::OnMoveMiniFrame Chamado pela estrutura para mover uma janela com minimoldura.
CDockingManager::OnPaneContextMenu Chamado pela estrutura quando compila um menu que tem uma lista de painéis.
CDockingManager::PaneFromPoint Retorna o painel que contém o determinado ponto.
CDockingManager::ProcessPaneContextMenuCommand Chamado pela estrutura para selecionar ou limpar uma caixa de seleção para o comando especificado e recalcular o layout de um painel mostrado.
CDockingManager::RecalcLayout Recalcula o layout interno dos controles presentes na lista de controles.
CDockingManager::ReleaseEmptyPaneContainers Libera os contêineres de painel vazios.
CDockingManager::RemoveHiddenMDITabbedBar Remove o painel de barras oculto especificado.
CDockingManager::RemoveMiniFrame Remove um quadro especificado da lista de minimolduras.
CDockingManager::RemovePaneFromDockManager Cancela o registro de um painel e o remove da lista no gerenciador de encaixe.
CDockingManager::ReplacePane Substitui um painel por outro.
CDockingManager::ResortMiniFramesForZOrder Recorre aos quadros na lista de minimolduras.
CDockingManager::SaveState Salva o estado do gerenciador de encaixe no Registro.
CDockingManager::SendMessageToMiniFrames Envia a mensagem especificada para todas as minimolduras.
CDockingManager::Serialize Grava o gerenciador de encaixe em um arquivo. (Substitui CObject::Serialize.)
CDockingManager::SetAutohideZOrder Define o tamanho, a largura e a altura das barras de controle e o painel especificado.
CDockingManager::SetDockingMode Define o modo de encaixe.
CDockingManager::SetDockState Define o estado de encaixe das barras de controle, das minimolduras e das barras de controle automático.
CDockingManager::SetPrintPreviewMode Define o modo de visualização de impressão das barras exibidas na visualização de impressão.
CDockingManager::SetSmartDockingParams Define os parâmetros que estabelecem o comportamento do encaixe inteligente.
CDockingManager::ShowDelayShowMiniFrames Mostra ou oculta as janelas das minimolduras.
CDockingManager::ShowPanes Mostra ou oculta os painéis das barras de controle e de ocultação automática.
CDockingManager::StartSDocking Inicia o encaixe inteligente da janela especificada de acordo com o alinhamento do gerenciador de encaixe inteligente.
CDockingManager::StopSDocking Interrompe o encaixe inteligente.

Membros de dados

Nome Descrição
CDockingManager::m_bHideDockingBarsInContainerMode Especifica se o gerenciador de encaixe oculta painéis no modo de contêiner OLE.
CDockingManager::m_dockModeGlobal Especifica o modo de encaixe global.
CDockingManager::m_nDockSensitivity Especifica a sensibilidade do encaixe.
CDockingManager::m_nTimeOutBeforeDockingBarDock Especifica o tempo, em milissegundos, até um painel de encaixe ser encaixado no modo de encaixe imediato.
CDockingManager::m_nTimeOutBeforeToolBarDock Especifica o tempo, em milissegundos, até uma barra de ferramentas ser encaixada na janela do quadro principal.

Comentários

A janela de quadro principal cria e inicializa essa classe automaticamente.

O objeto do gerenciador de encaixe contém uma lista de todos os painéis que estão no layout de encaixe e também uma lista de todas as janelas CPaneFrameWnd que pertencem à janela de quadro principal.

A classe CDockingManager implementa alguns serviços que você pode usar para encontrar um painel ou uma janela CPaneFrameWnd. Normalmente, você não chama esses serviços diretamente porque eles são encapsulados no objeto da janela de quadro principal. Para mais informações, confira Classe CPaneFrameWnd.

Dias de personalização

As seguintes dicas se aplicam a objetos CDockingManager:

Exemplo

O exemplo a seguir demonstra como usar vários métodos na classe CDockingManager para configurar um objeto CDockingManager. O exemplo mostra como exibir um botão adicional que abre um menu pop-up nas legendas de todos os painéis de encaixe e como definir o modo de encaixe do objeto. Esse snippet de código faz parte do exemplo de Demonstração do Visual Studio.

CDockingManager *pDockManager = GetDockingManager();
ASSERT_VALID(pDockManager);
pDockManager->AdjustPaneFrames();
pDockManager->EnableDockSiteMenu();
pDockManager->SetDockingMode(DT_STANDARD);

Hierarquia de herança

CObject

CDockingManager

Requisitos

Cabeçalho: afxDockingManager.h

CDockingManager::AddDockSite

Cria um painel de encaixe e o adiciona à lista de barras de controle.

BOOL AddDockSite(
    const AFX_DOCKSITE_INFO& info,
    CDockSite** ppDockBar = NULL);

Parâmetros

info
[in] Uma referência a uma estrutura de informações que contém o alinhamento do painel de encaixe.

ppDockBar
[out] Um ponteiro para um ponteiro para o novo painel de encaixe.

Valor de retorno

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

CDockingManager::AddHiddenMDITabbedBar

Adiciona um identificador a um painel de barras à lista de painéis de barras com guia MDI ocultos.

void AddHiddenMDITabbedBar(CDockablePane* pBar);

Parâmetros

pBar
[in] Um ponteiro para um painel de barras

CDockingManager::AddPane

Registra um painel com o gerenciador de encaixe.

BOOL AddPane(
    CBasePane* pWnd,
    BOOL bTail = TRUE,
    BOOL bAutoHide = FALSE,
    BOOL bInsertForOuterEdge = FALSE);

Parâmetros

pWnd
[in, out] Especifica o painel a ser adicionado ao gerenciador de encaixe.

bTail
[in] TRUE para adicionar o painel ao final da lista de painéis para o gerenciador de encaixe; caso contrário, FALSE.

bAutoHide
[in] Somente para uso interno. Sempre use o valor padrão FALSE.

bInsertForOuterEdge
[in] Somente para uso interno. Sempre use o valor padrão FALSE.

Valor de retorno

TRUE se o painel foi registrado com êxito no gerenciador de encaixe; caso contrário, FALSE.

Comentários

Chame esse método para registrar painéis não flutuantes e não redimensionáveis com o gerenciador de encaixe. Se você não registrar os painéis, eles não aparecerão corretamente quando o gerenciador de encaixe for disposto.

CDockingManager::AdjustDockingLayout

Recalcula e ajusta o layout de todos os painéis em uma janela de quadro.

virtual void AdjustDockingLayout(HDWP hdwp = NULL);

Parâmetros

hdwp
[in] Especifica a estrutura de posição da janela adiada. Para mais informações, confira Tipos de dados do Windows.

Comentários

CDockingManager::AddMiniFrame

Adiciona um quadro à lista de minimolduras.

virtual BOOL AddMiniFrame(CPaneFrameWnd* pWnd);

Parâmetros

pWnd
[in] Um ponteiro para um quadro.

Valor de retorno

TRUE se o quadro não estiver na lista de mini quadros e tiver sido adicionado com êxito; caso contrário, FALSE.

CDockingManager::AdjustPaneFrames

Faz com que a mensagem WM_NCCALCSIZE seja enviada para todos os painéis e janelas CPaneFrameWnd.

virtual void AdjustPaneFrames();

Comentários

CDockingManager::AdjustRectToClientArea

Ajusta o alinhamento de um retângulo.

virtual BOOL AdjustRectToClientArea(
    CRect& rectResult,
    DWORD dwAlignment);

Parâmetros

rectResult
[in] Uma referência a um objeto CRect

dwAlignment
[in] O alinhamento do objeto CRect

Valor de retorno

TRUE se o alinhamento do objeto CRect tiver sido ajustado; caso contrário, FALSE.

Comentários

O parâmetro dwAlignment pode ter um dos seguintes valores:

  • CBRS_ALIGN_TOP

  • CBRS_ALIGN_BOTTOM

  • CBRS_ALIGN_LEFT

  • CBRS_ALIGN_RIGHT

CDockingManager::AlignAutoHidePane

Redimensiona um painel de encaixe no modo de ocultação automática para que ele ocupe toda a largura ou altura da área do cliente do quadro cercada por locais de encaixe.

void AlignAutoHidePane(
    CPaneDivider* pDefaultSlider,
    BOOL bIsVisible = TRUE);

Parâmetros

pDefaultSlider
[in] O painel do controle deslizante de encaixe.

bIsVisible
[in] TRUE se o painel de encaixe estiver visível; caso contrário, FALSE.

CDockingManager::AutoHidePane

Cria uma barra de ferramentas de controle automático.

CMFCAutoHideToolBar* AutoHidePane(
    CDockablePane* pBar,
    CMFCAutoHideToolBar* pCurrAutoHideToolBar = NULL);

Parâmetros

pBar
[in] Um ponteiro para o painel de barras.

pCurrAutoHideToolBar
[in] Um ponteiro para uma barra de ferramentas de ocultação automática.

Valor de retorno

NULL se a barra de ferramentas de ocultação automática não tiver sido criada; caso contrário, um ponteiro para a nova barra de ferramentas.

CDockingManager::BringBarsToTop

Coloca na parte superior as barras encaixadas que têm o alinhamento especificado.

void BringBarsToTop(
    DWORD dwAlignment = 0,
    BOOL bExcludeDockedBars = TRUE);

Parâmetros

dwAlignment
[in] O alinhamento das barras de encaixe que são trazidas para a parte superior de outras janelas.

bExcludeDockedBars
[in] TRUE para excluir as barras encaixadas de estarem na parte superior; caso contrário, FALSE.

CDockingManager::BuildPanesMenu

Adiciona nomes de painéis de encaixe e barras de ferramentas a um menu.

void BuildPanesMenu(
    CMenu& menu,
    BOOL bToolbarsOnly);

Parâmetros

menu
[in] Um menu para adicionar os nomes de painéis de encaixe e barras de ferramentas.

bToolbarsOnly
[in] TRUE para adicionar apenas nomes de barra de ferramentas ao menu; caso contrário, FALSE.

CDockingManager::CalcExpectedDockedRect

Calcula o retângulo esperado de uma janela encaixada.

void CalcExpectedDockedRect(
    CWnd* pWnd,
    CPoint ptMouse,
    CRect& rectResult,
    BOOL& bDrawTab,
    CDockablePane** ppTargetBar);

Parâmetros

pWnd
[in] Um ponteiro para a janela a ser encaixada.

ptMouse
[in] O local do mouse.

rectResult
[out] O retângulo calculado.

bDrawTab
[in] TRUE para desenhar uma guia; caso contrário, FALSE.

ppTargetBar
[out] Um ponteiro para um ponteiro para o painel de destino.

Comentários

Esse método calcula o retângulo que uma janela ocuparia se um usuário arrastasse a janela para o ponto especificado pelo ptMouse e a encaixasse lá.

CDockingManager::Create

Cria um gerenciador de encaixe.

BOOL Create(CFrameWnd* pParentWnd);

Parâmetros

pParentWnd
[in] Um ponteiro para o quadro pai do gerenciador de encaixe. Esse valor não deve ser NULL.

Valor de retorno

TRUE sempre.

CDockingManager::DeterminePaneAndStatus

Determina o painel que contém um determinado ponto e seu status de encaixe.

virtual AFX_CS_STATUS DeterminePaneAndStatus(
    CPoint pt,
    int nSensitivity,
    DWORD dwEnabledAlignment,
    CBasePane** ppTargetBar,
    const CBasePane* pBarToIgnore,
    const CBasePane* pBarToDock);

Parâmetros

pt
[in] O local do painel a ser verificado.

nSensitivity
[in] O valor para aumentar o retângulo da janela de cada painel marcado. Um painel cumprirá aos critérios de pesquisa se o ponto determinado estiver nessa região aumentada.

dwEnabledAlignment
[in] O alinhamento do painel de encaixe.

ppTargetBar
[out] Um ponteiro para um ponteiro para o painel de destino.

pBarToIgnore
[in] O painel que o método ignora.

pBarToDock
[in] O painel que está encaixado.

Valor de retorno

O status de encaixe.

Comentários

O status de encaixe do indexador pode ser um dos seguintes:

O valor de AFX_CS_STATUS Significado
CS_NOTHING O ponteiro não está sobre um local de encaixe. Portanto, mantenha o painel flutuante.
CS_DOCK_IMMEDIATELY O ponteiro está sobre o local de encaixe no modo imediato (o estilo DT_IMMEDIATE está habilitado), portanto, o painel deve ser encaixado imediatamente.
CS_DELAY_DOCK O ponteiro está sobre um local de encaixe que é outro painel de encaixe ou é uma borda do quadro principal.
CS_DELAY_DOCK_TO_TAB O ponteiro está sobre um local de encaixe que faz com que o painel seja encaixado em uma janela com guias. Isso ocorre quando o mouse está sobre uma legenda de outro painel de encaixe ou sobre uma área de tabulação de um painel com guias.

CDockingManager::DisableRestoreDockState

Habilita ou desabilita o carregamento do layout de encaixe do Registro.

void DisableRestoreDockState(BOOL bDisable = TRUE);

Parâmetros

bDisable
[in] TRUE para desabilitar o carregamento do layout de encaixe do Registro; caso contrário, FALSE.

Comentários

Chame esse método quando você precisar preservar o layout atual de painéis de encaixe e barras de ferramentas quando o estado do aplicativo estiver sendo carregado.

CDockingManager::DockPane

Encaixa um painel em outro painel ou em uma janela de quadro.

void DockPane(
    CBasePane* pBar,
    UINT nDockBarID = 0,
    LPCRECT lpRect = NULL);

Parâmetros

pBar
[in] Um ponteiro para um painel de barras no qual encaixar.

nDockBarID
[in] A ID do bar a ser encaixado.

lpRect
[in] O retângulo de destino.

CDockingManager::DockPaneLeftOf

Encaixa um painel à esquerda de outro painel.

BOOL DockPaneLeftOf(
    CPane* pBarToDock,
    CPane* pTargetBar);

Parâmetros

pBarToDock
[in] Um ponteiro para o painel a ser encaixado à esquerda de pTargetBar.

pTargetBar
[in] Um ponteiro para o painel de destino.

Valor de retorno

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

CDockingManager::EnableAutoHidePanes

Habilita o encaixe do painel ao quadro principal, cria um painel de encaixe e o adiciona à lista de barras de controle.

BOOL EnableAutoHidePanes(DWORD dwStyle);

Parâmetros

dwStyle
[in] O alinhamento de encaixe.

Valor de retorno

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

CDockingManager::EnableDocking

Cria um painel de encaixe e permite o encaixe do painel no quadro principal.

BOOL EnableDocking(DWORD dwStyle);

Parâmetros

dwStyle
[in] O alinhamento de encaixe.

Valor de retorno

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

CDockingManager::EnableDockSiteMenu

Exibe um botão adicional que abre um menu pop-up nas legendas de todos os painéis de encaixe.

static void EnableDockSiteMenu(BOOL bEnable = TRUE);

Parâmetros

bEnable
[in] TRUE para habilitar o menu do local de encaixe; caso contrário, FALSE.

Comentários

O menu do local de encaixe exibe as seguintes opções para alterar o estado de encaixe do painel:

  • Floating – torna um painel flutuante

  • Docking – encaixa um painel no quadro principal no local em que o painel foi encaixado pela última vez

  • AutoHide – alterna o painel para o modo de ocultação automática

  • Hide – oculta um painel

Por padrão, esse menu não é exibido.

CDockingManager::EnablePaneContextMenu

Informa à biblioteca para exibir um menu de contexto especial que tem uma lista de barras de ferramentas de aplicativo e painéis de encaixe quando o usuário clica no botão direito do mouse e a biblioteca está processando a mensagem WM_CONTEXTMENU.

void EnablePaneContextMenu(
    BOOL bEnable,
    UINT uiCustomizeCmd,
    const CString& strCustomizeText,
    BOOL bToolbarsOnly = FALSE);

Parâmetros

bEnable
[in] Se TRUE, a biblioteca ativa o suporte para o menu de contexto automático; se FALSE a biblioteca desativa o suporte para o menu de contexto automático.

uiCustomizeCmd
[in] Uma ID de comando para o item Personalizar no menu.

strCustomizeText
[in] O texto do item Personalizar.

bToolbarsOnly
[in] Se TRUE, o menu exibirá apenas uma lista de barras de ferramentas do aplicativo; se FALSE, a biblioteca adicionará painéis de encaixe de aplicativo a essa lista.

CDockingManager::FindDockSite

Recupera o painel de barras que está na posição especificada e que tem o alinhamento especificado.

virtual CDockSite* FindDockSite(
    DWORD dwAlignment,
    BOOL bOuter);

Parâmetros

dwAlignment
[in] O alinhamento do painel de barras.

bOuter
[in] Se TRUE, recupere a barra na posição de cabeçalho na lista de barras de controle. Caso contrário, recupere a barra na posição final na lista de barras de controle.

Valor de retorno

O painel de encaixe que tem o alinhamento especificado; caso contrário, NULL.

CDockingManager::FindPaneByID

Localiza um painel pela ID de controle especificada.

virtual CBasePane* FindPaneByID(
    UINT uBarID,
    BOOL bSearchMiniFrames = FALSE);

Parâmetros

uBarID
[in] Especifica a ID de controle do painel a ser encontrado.

bSearchMiniFrames
[in] TRUE para incluir todos os painéis flutuantes na pesquisa. FALSE para incluir apenas os painéis encaixados.

Valor de retorno

O objeto CBasePane que tem a ID de controle especificada ou NULL se o painel especificado não puder ser encontrado.

Comentários

CDockingManager::FindDockSiteByPane

Retorna o painel de barras que tem a ID do painel de barras de destino.

virtual CDockSite* FindDockSiteByPane(CPane* pTargetBar);

Parâmetros

pTargetBar
[in] Um ponteiro para o painel da barra de destino.

Valor de retorno

O painel de barras que tem a ID do painel da barra de destino; NULL se esse painel de barras não existir.

CDockingManager::FixupVirtualRects

Confirma todas as posições atuais da barra de ferramentas em retângulos virtuais.

virtual void FixupVirtualRects();

Comentários

Quando o usuário começa a arrastar uma barra de ferramentas, o aplicativo lembra sua posição original no retângulo virtual. Quando o usuário move uma barra de ferramentas em seu local de encaixe, a barra de ferramentas pode deslocar outras barras de ferramentas. As posições originais das outras barras de ferramentas são armazenadas nos retângulos virtuais correspondentes.

CDockingManager::FrameFromPoint

Retorna o quadro que contém o ponto determinado.

virtual CPaneFrameWnd* FrameFromPoint(
    CPoint pt,
    CPaneFrameWnd* pFrameToExclude,
    BOOL bFloatMultiOnly) const;

Parâmetros

pt
[in] Especifica o ponto, em coordenadas de tela, a ser verificado.

pFrameToExclude
[in] Um ponteiro para um quadro a ser excluído.

bFloatMultiOnly
[in] TRUE para excluir quadros que não são instâncias de CMultiPaneFrameWnd; caso contrário, FALSE.

Valor de retorno

O quadro que contém o ponto determinado; caso contrário, NULL.

CDockingManager::GetClientAreaBounds

Obtém o retângulo que contém os limites da área de cliente.

CRect GetClientAreaBounds() const;

void GetClientAreaBounds(CRect& rcClient);

Parâmetros

rcClient
[out] Uma referência ao retângulo que contém os limites da área de cliente.

Valor de retorno

O retângulo que contém os limites da área de cliente.

CDockingManager::GetDockingMode

Retorna o modo de encaixe atual.

static AFX_DOCK_TYPE GetDockingMode();

Valor de retorno

Um valor enumerador que representa o modo de encaixe atual. Pode ser um dos seguintes valores:

  • DT_STANDARD

  • DT_IMMEDIATE

  • DT_SMART

Comentários

Para definir o modo de encaixe, chame CDockingManager::SetDockingMode.

CDockingManager::GetDockSiteFrameWnd

Obtém um ponteiro para o quadro de janela pai.

CFrameWnd* GetDockSiteFrameWnd() const;

Valor de retorno

Um ponteiro para o quadro de janela pai.

CDockingManager::GetEnabledAutoHideAlignment

Retorna o alinhamento habilitado dos painéis.

DWORD GetEnabledAutoHideAlignment() const;

Valor de retorno

Uma combinação bit a bit de sinalizadores de CBRS_ALIGN_ ou 0 se os painéis de ocultação automática não estiverem habilitados. Para mais informações, confira CFrameWnd::EnableDocking.

Comentários

O método retorna o alinhamento habilitado para barras de controle de ocultação automática. Para habilitar barras de ocultação automática, chame CFrameWndEx::EnableAutoHidePanes.

CDockingManager::GetMiniFrames

Obtém uma lista de minimolduras.

const CObList& GetMiniFrames() const;

Valor de retorno

Uma lista de minimolduras que contêm as barras de controle que pertencem ao gerenciador de encaixe.

CDockingManager::GetOuterEdgeBounds

Obtém um retângulo que contém as bordas externas do quadro.

CRect GetOuterEdgeBounds() const;

Valor de retorno

Um retângulo que contém as bordas externas do quadro.

CDockingManager::GetPaneList

Retorna uma lista de painéis que pertencem ao gerenciador de encaixe. Isso inclui todos os painéis flutuantes.

void GetPaneList(
    CObList& lstBars,
    BOOL bIncludeAutohide = FALSE,
    CRuntimeClass* pRTCFilter = NULL,
    BOOL bIncludeTabs = FALSE);

Parâmetros

lstBars
[in, out] Contém todos os painéis do gerenciador de encaixe atual.

bIncludeAutohide
[in] TRUE para incluir os painéis que estão no modo de ocultação automática; caso contrário, FALSE.

pRTCFilter
[in] Se não for NULL, a lista retornada conterá somente painéis da classe de runtime especificada.

bIncludeTabs
[in] TRUE para incluir guias; caso contrário, FALSE.

Comentários

Se houver painéis com guias no gerenciador de encaixe, o método retornará ponteiros para objetos da Classe CBaseTabbedPane e você deverá enumerar as guias explicitamente.

Use pRTCFilter para obter uma classe específica de painéis. Por exemplo, você pode obter apenas barras de ferramentas definindo esse valor adequadamente.

CDockingManager::GetSmartDockingManager

Recupera um ponteiro para o gerenciador de encaixe inteligente.

CSmartDockingManager* GetSmartDockingManager();

Valor de retorno

Um ponteiro para o gerenciador de encaixe inteligente.

CDockingManager::GetSmartDockingManagerPermanent

Recupera um ponteiro para o gerenciador de encaixe inteligente.

CSmartDockingManager* GetSmartDockingManagerPermanent() const;

Valor de retorno

Um ponteiro para o gerenciador de encaixe inteligente.

CDockingManager::GetSmartDockingParams

Retorna os parâmetros de encaixe inteligente para o gerenciador de encaixe.

static CSmartDockingInfo& GetSmartDockingParams();

Valor de retorno

A classe que contém os parâmetros de encaixe inteligente para o gerenciador de encaixe atual. Para mais informações, confira Classe CSmartDockingInfo.

Comentários

CDockingManager::HideAutoHidePanes

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

void HideAutoHidePanes(
    CDockablePane* pBarToExclude = NULL,
    BOOL bImmediately = FALSE);

Parâmetros

pBarToExclude
[in] Um ponteiro para uma barra a ser excluída da ocultação.

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

CDockingManager::InsertDockSite

Cria um painel de encaixe e o insere na lista de barras de controle.

BOOL InsertDockSite(
    const AFX_DOCKSITE_INFO& info,
    DWORD dwAlignToInsertAfter,
    CDockSite** ppDockBar = NULL);

Parâmetros

info
[in] Uma estrutura que contém as informações de alinhamento sobre o painel de encaixe.

dwAlignToInsertAfter
[in] Alinhamento do painel de encaixe.

ppDockBar
[out] Um ponteiro para um ponteiro para um painel de encaixe.

Valor de retorno

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

CDockingManager::InsertPane

Insere um painel de controle na lista de barras de controle.

BOOL InsertPane(
    CBasePane* pControlBar,
    CBasePane* pTarget,
    BOOL bAfter = TRUE);

Parâmetros

pControlBar
[in] Um ponteiro para um painel de controle.

pTarget
[in] Um ponteiro para um painel de destino.

bAfter
[in] TRUE para inserir o painel após a posição do painel de destino; FALSE caso contrário.

Valor de retorno

TRUE se o painel de controle tiver sido adicionado com êxito à lista de barras de controle; caso contrário, FALSE.

Comentários

Esse método retornará false se o painel de controle já estiver na lista de barras de controle ou se o painel de destino não existir na lista de barras de controle.

CDockingManager::IsDockSiteMenu

Especifica se um menu pop-up é exibido nas legendas de todos os painéis.

static BOOL IsDockSiteMenu();

Valor de retorno

TRUE se um menu do local de encaixe for exibido nas legendas de todos os painéis de encaixe; caso contrário, FALSE.

Comentários

Você pode habilitar o menu do local de encaixe chamando CDockingManager::EnableDockSiteMenu.

CDockingManager::IsInAdjustLayout

Determina se os layouts de todos os painéis são ajustados.

BOOL IsInAdjustLayout() const;

Valor de retorno

TRUE se os layouts de todos os painéis forem ajustados; caso contrário, FALSE.

CDockingManager::IsOLEContainerMode

Especifica se o gerenciador de encaixe está no modo de contêiner OLE.

BOOL IsOLEContainerMode() const;

Valor de retorno

TRUE se o gerenciador de encaixe estiver no modo de contêiner OLE; caso contrário, FALSE.

Comentários

No modo de contêiner OLE, todos os painéis de encaixe e as barras de ferramentas do aplicativo estão ocultos. Os painéis também ficarão ocultos nesse modo se você tiver definido CDockingManager::m_bHideDockingBarsInContainerMode como TRUE.

CDockingManager::IsPointNearDockSite

Determina se um ponto especificado está próximo ao local de encaixe.

BOOL IsPointNearDockSite(
    CPoint point,
    DWORD& dwBarAlignment,
    BOOL& bOuterEdge) const;

Parâmetros

point
[in] O ponto especificado.

dwBarAlignment
[out] Especifica de qual borda o ponto está próximo. Os valores possíveis são CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP e CBRS_ALIGN_BOTTOM.

bOuterEdge
[out] TRUE se o ponto estiver próximo à borda externa do local de encaixe; caso contrário, FALSE.

Valor de retorno

TRUE se o ponto estiver próximo ao local de encaixe; caso contrário, FALSE.

CDockingManager::IsPrintPreviewValid

Determina se o modo de visualização de impressão está definido.

BOOL IsPrintPreviewValid() const;

Valor de retorno

TRUE se o modo de visualização de impressão estiver definido; caso contrário, FALSE.

CDockingManager::LoadState

Carrega o estado do gerenciador de encaixe do Registro.

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

Parâmetros

lpszProfileName
[in] Nome do perfil.

uiID
[in] A ID do gerenciador de encaixe.

Valor de retorno

TRUE se o estado do gerenciador de encaixe tiver sido carregado com êxito; caso contrário, FALSE.

CDockingManager::LockUpdate

Bloqueia a janela fornecida.

void LockUpdate(BOOL bLock);

Parâmetros

bLock
[in] TRUE se a janela estiver bloqueada; caso contrário, FALSE.

Comentários

Quando uma janela está bloqueada, ela não pode ser movida nem redesenhada.

CDockingManager::m_bHideDockingBarsInContainerMode

Especifica se o gerenciador de encaixe oculta painéis no modo de contêiner OLE.

AFX_IMPORT_DATA static BOOL m_bHideDockingBarsInContainerMode;

Comentários

Defina esse valor como FALSE se quiser manter todos os painéis encaixados no quadro principal visíveis quando o aplicativo estiver no modo de contêiner OLE. Por padrão, esse valor é TRUE.

CDockingManager::m_dockModeGlobal

Especifica o modo de encaixe global.

AFX_IMPORT_DATA static AFX_DOCK_TYPE m_dockModeGlobal;

Comentários

Por padrão, cada painel de encaixe usa esse modo de encaixe. Para mais informações sobre os valores para os quais esse campo pode ser definido, confira CBasePane::GetDockingMode.

CDockingManager::m_nDockSensitivity

Especifica a sensibilidade do encaixe.

AFX_IMPORT_DATA static int m_nDockSensitivity;

Comentários

A sensibilidade do encaixe define o quão perto um painel flutuante pode chegar de um painel de encaixe, local de encaixe ou outro painel antes que a estrutura altere seu estado para encaixado.

CDockingManager::m_nTimeOutBeforeDockingBarDock

Especifica o tempo, em milissegundos, até um painel de encaixe ser encaixado no modo de encaixe imediato.

static UINT m_nTimeOutBeforeDockingBarDock;

Comentários

Antes de um painel ser encaixado, a estrutura aguarda o período especificado. Isso impede que o painel seja encaixado por engano em um local enquanto o usuário ainda o arrasta.

CDockingManager::m_nTimeOutBeforeToolBarDock

Especifica o tempo, em milissegundos, até uma barra de ferramentas ser encaixada na janela do quadro principal.

static UINT m_nTimeOutBeforeToolBarDock;

Comentários

Antes de uma barra de ferramentas ser encaixada, a estrutura aguarda o período especificado. Isso impede que a barra de ferramentas seja encaixada por engano em um local enquanto o usuário ainda a arrasta.

CDockingManager::OnActivateFrame

Chamado pela estrutura quando a janela de quadro é ativada ou desativada.

virtual void OnActivateFrame(BOOL bActivate);

Parâmetros

bActivate
[in] Se TRUE, a janela de quadro será ativada; se FALSE, a janela do quadro será desativada.

CDockingManager::OnClosePopupMenu

Chamado pela estrutura quando um menu pop-up ativo processa uma mensagem WM_DESTROY.

void OnClosePopupMenu();

Comentários

A estrutura envia uma mensagem WM_DESTROY quando está prestes a fechar a janela principal atual. Substitua esse método para manipular notificações de objetos CMFCPopupMenu que pertencem à janela de quadro quando um objeto CMFCPopupMenu processa uma mensagem WM_DESTROY.

CDockingManager::OnMoveMiniFrame

Chamado pela estrutura para mover uma janela com minimoldura.

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Parâmetros

pFrame
[in] Um ponteiro para uma janela com minimoldura.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSE.

CDockingManager::OnPaneContextMenu

Chamado pela estrutura quando compila um menu que tem uma lista de painéis.

void OnPaneContextMenu(CPoint point);

Parâmetros

point
[in] Especifica o local do menu.

CDockingManager::PaneFromPoint

Retorna o painel que contém o determinado ponto.

virtual CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    bool bExactBar = false,
    CRuntimeClass* pRTCBarType = NULL,
    BOOL bCheckVisibility = FALSE,
    const CBasePane* pBarToIgnore = NULL) const;

virtual CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    DWORD& dwAlignment,
    CRuntimeClass* pRTCBarType = NULL,
    const CBasePane* pBarToIgnore = NULL) const;

Parâmetros

point
[in] Especifica o ponto, em coordenadas de tela, a ser verificado.

nSensitivity
[in] O valor para inflar o retângulo da janela de cada painel marcado. Um painel atenderá aos critérios de pesquisa se o ponto determinado estiver nessa região inflada.

bExactBar
[in] TRUE para ignorar o parâmetro nSensitivity; caso contrário, FALSE.

pRTCBarType
[in] Se não for NULL, o método pesquisará apenas os painéis do tipo especificado.

bCheckVisibility
[in] TRUE para verificar somente painéis visíveis; caso contrário, FALSE.

dwAlignment
[out] Se um painel for encontrado no ponto especificado, esse parâmetro conterá o lado do painel mais próximo do ponto especificado. Para obter mais informações, consulte a seção Comentários.

pBarToIgnore
[in] Se não for NULL, o método ignorará os painéis especificados por esse parâmetro.

Valor de retorno

O objeto derivado de CBasePane que contém o ponto determinado ou NULL se nenhum painel foi encontrado.

Comentários

Quando a função retorna e um painel foi encontrado, dwAlignment conterá o alinhamento do ponto especificado. Por exemplo, se o ponto estiver mais próximo da parte superior do painel, dwAlignment será definido como CBRS_ALIGN_TOP.

CDockingManager::ProcessPaneContextMenuCommand

Chamado pela estrutura para selecionar ou limpar uma caixa de seleção para o comando especificado e recalcular o layout de um painel mostrado.

BOOL ProcessPaneContextMenuCommand(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parâmetros

Nid
[in] A ID de uma barra de controle no menu.

nCode
[in] O código de notificação de comando.

pExtra
[in] Um ponteiro para nulo que é convertido em um ponteiro para CCmdUI se nCode é CN_UPDATE_COMMAND_UI.

pHandlerInfo
[in] Um ponteiro para uma estrutura de informações. Este parâmetro não é usado.

Valor de retorno

TRUE se pEXtra não for NULL e nCode for igual a CN_UPDATE_COMMAND_UI ou se houver uma barra de controle com a nID especificada.

CDockingManager::RecalcLayout

Recalcula o layout interno dos controles presentes na lista de controles.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parâmetros

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

CDockingManager::ReleaseEmptyPaneContainers

Libera os contêineres de painel vazios.

void ReleaseEmptyPaneContainers();

CDockingManager::RemoveHiddenMDITabbedBar

Remove o painel de barras oculto especificado.

void RemoveHiddenMDITabbedBar(CDockablePane* pBar);

Parâmetros

pBar
[in] Um ponteiro para um painel de barras a ser removido.

CDockingManager::RemoveMiniFrame

Remove um quadro especificado da lista de minimolduras.

virtual BOOL RemoveMiniFrame(CPaneFrameWnd* pWnd);

Parâmetros

pWnd
[in] Um ponteiro para um quadro a ser removido.

Valor de retorno

TRUE se o quadro especificado for removido; caso contrário, FALSE.

CDockingManager::RemovePaneFromDockManager

Cancela o registro de um painel e o remove da lista no gerenciador de encaixe.

void RemovePaneFromDockManager(
    CBasePane* pWnd,
    BOOL bDestroy,
    BOOL bAdjustLayout,
    BOOL bAutoHide = FALSE,
    CBasePane* pBarReplacement = NULL);

Parâmetros

pWnd
[in] Um ponteiro para um painel a ser removido.

bDestroy
[in] Se TRUE, o painel removido será destruído.

bAdjustLayout
[in] Se TRUE, ajuste o layout de encaixe imediatamente.

bAutoHide
[in] Se TRUE, o painel será removido da lista de barras de ocultação automática. Se FALSE, o painel será removido da lista de painéis regulares.

pBarReplacement
[in] Um ponteiro para um painel que substitui o painel removido.

CDockingManager::ReplacePane

Substitui um painel por outro.

BOOL ReplacePane(
    CDockablePane* pOriginalBar,
    CDockablePane* pNewBar);

Parâmetros

pOriginalBar
[in] Um ponteiro para o painel original.

pNewBar
[in] Um ponteiro para o painel que substitui o painel original.

Valor de retorno

TRUE se o painel tiver sido substituído com sucesso; caso contrário, FALSE.

CDockingManager::ResortMiniFramesForZOrder

Recorre aos quadros na lista de minimolduras.

void ResortMiniFramesForZOrder();

CDockingManager::SaveState

Salva o estado do gerenciador de encaixe no Registro.

virtual BOOL SaveState(
    LPCTSTR lpszProfileName = NULL,
    UINT uiID = (UINT) -1);

Parâmetros

lpszProfileName
[in] Um caminho para uma chave do Registro.

uiID
[in] A ID do gerenciador de encaixe.

Valor de retorno

TRUE se o estado foi salvo com êxito; caso contrário, FALSE.

Comentários

Salvar o estado do gerenciador de encaixe no Registro envolve salvar os estados das barras de controle, os estados das barras de ocultação automática e os estados das minimolduras presentes no gerenciador de encaixe.

CDockingManager::SendMessageToMiniFrames

Envia a mensagem especificada para todas as minimolduras.

BOOL SendMessageToMiniFrames(
    UINT uMessage,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parâmetros

uMessage
[in] A mensagem a ser enviada.

wParam
[in] Informações dependentes de mensagens adicionais.

lParam
[in] Informações dependentes de mensagens adicionais.

Valor de retorno

TRUE sempre.

CDockingManager::Serialize

Grava o gerenciador de encaixe em um arquivo.

void Serialize(CArchive& ar);

Parâmetros

ar
[in] Uma referência a um objeto de arquivo.

Comentários

Gravar o gerenciador de encaixe em um arquivo envolve determinar o número de barras de controle de encaixe e controles deslizantes e gravar as barras de controle, as minimolduras, as barras de ocultação automática e as barras com a tecla MDI no arquivo de arquivos.

CDockingManager::SetAutohideZOrder

Define o tamanho, a largura e a altura das barras de controle e o painel especificado.

void SetAutohideZOrder(CDockablePane* pAHDockingBar);

Parâmetros

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

CDockingManager::SetDockingMode

Define o modo de encaixe.

static void SetDockingMode(
    AFX_DOCK_TYPE dockMode,
    AFX_SMARTDOCK_THEME theme = AFX_SDT_DEFAULT);

Parâmetros

dockMode
Especifica o novo modo de encaixe. Para obter mais informações, consulte a seção Comentários.

theme
Especifica o tema a ser usado para marcadores de encaixe inteligentes. Pode ser um dos seguintes valores enumerados: AFX_SDT_DEFAULT, AFX_SDT_VS2005 AFX_SDT_VS2008.

Comentários

Chame esse método estático para definir o modo de encaixe.

O dockMode pode ser um dos seguintes valores:

  • DT_STANDARD – modo de encaixe padrão, conforme implementado no Visual Studio .NET 2003. Os painéis são arrastados sem um contexto de arrastar.

  • DT_IMMEDIATE – modo de encaixe imediato, conforme implementado no Microsoft Visio. Os painéis são arrastados com um contexto de arrastar, mas nenhum marcador é exibido.

  • DT_SMART – modo de encaixe inteligente, conforme implementado no Visual Studio 2005. Os painéis são arrastados com um contexto de arrastar e são exibidos marcadores inteligentes que mostram em que local o painel pode ser encaixado.

CDockingManager::SetDockState

Define o estado de encaixe das barras de controle, das minimolduras e das barras de controle automático.

virtual void SetDockState();

CDockingManager::SetPrintPreviewMode

Define o modo de visualização de impressão das barras exibidas na visualização de impressão.

void SetPrintPreviewMode(
    BOOL bPreview,
    CPrintPreviewState* pState);

Parâmetros

bPreview
[in] TRUE se o modo de visualização de impressão estiver definido; caso contrário, FALSE.

pState
[in] Um ponteiro para um estado de visualização. Este parâmetro não é usado.

CDockingManager::SetSmartDockingParams

Define os parâmetros que estabelecem o comportamento do encaixe inteligente.

static void SetSmartDockingParams(CSmartDockingInfo& params);

Parâmetros

params
[in, out] Define os parâmetros para encaixe inteligente.

Comentários

Chame esse método se você quiser personalizar a aparência, a cor ou a forma dos marcadores de encaixe inteligentes.

Para usar a aparência padrão para marcadores de encaixe inteligentes, passe uma instância não inicializada da Classe CSmartDockingInfo para params.

CDockingManager::ShowDelayShowMiniFrames

Mostra ou oculta as janelas das minimolduras.

void ShowDelayShowMiniFrames(BOOL bshow);

Parâmetros

bShow
[in] TRUE para tornar a janela do quadro mostrado ativa; FALSE para ocultar a janela do quadro.

CDockingManager::ShowPanes

Mostra ou oculta os painéis das barras de controle e de ocultação automática.

virtual BOOL ShowPanes(BOOL bShow);

Parâmetros

bShow
[in] TRUE para mostrar os painéis; FALSE para ocultar os painéis.

Valor de retorno

Sempre FALSE.

CDockingManager::StartSDocking

Inicia o encaixe inteligente da janela especificada de acordo com o alinhamento do gerenciador de encaixe inteligente.

void StartSDocking(CWnd* pDockingWnd);

Parâmetros

pDockingWnd
[in] Um ponteiro para uma janela a ser encaixada.

CDockingManager::StopSDocking

Interrompe o encaixe inteligente.

void StopSDocking();

CDockingManager::GetSmartDockingTheme

Um método estático que retorna um tema usado para exibir marcadores de encaixe inteligentes.

static AFX_SMARTDOCK_THEME __stdcall GetSmartDockingTheme();

Valor de retorno

Retorna um dos seguintes valores enumerados: AFX_SDT_DEFAULT, AFX_SDT_VS2005 AFX_SDT_VS2008.

Comentários

Confira também

Gráfico da hierarquia
Classes
Classe CObject
Classe CFrameWndEx
Classe CDockablePane
Classe CPaneFrameWnd