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
:
A Classe CDockingManager dá suporte a estes modos de encaixe:
AFX_DOCK_TYPE::DT_IMMEDIATE
AFX_DOCK_TYPE::DT_STANDARD
AFX_DOCK_TYPE::DT_SMART
Esses modos de encaixe são definidos por CDockingManager::m_dockModeGlobal e são definidos chamando CDockingManager::SetDockingMode.
Se você quiser criar um painel não flutuante e não redimensionável, chame o método CDockingManager::AddPane. Esse método registra o painel com o gerenciador de encaixe, que é responsável pelo layout do painel.
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
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 flutuanteDocking
– encaixa um painel no quadro principal no local em que o painel foi encaixado pela última vezAutoHide
– alterna o painel para o modo de ocultação automáticaHide
– 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