Partilhar via


Classe CAutoHideDockSite

O CAutoHideDockSite estende a classe CDockSite para implementar painéis de encaixe de ocultação automática.

Sintaxe

class CAutoHideDockSite : public CDockSite

Membros

Construtores públicos

Nome Descrição
Nome Descrição
CAutoHideDockSite::CAutoHideDockSite Constrói um objeto CAutoHideDockSite.
CAutoHideDockSite::~CAutoHideDockSite Destruidor.

Métodos públicos

Nome Descrição
Nome Descrição
CAutoHideDockSite::AllowShowOnPaneMenu Indica se CAutoHideDockSite é mostrado no menu do painel.
CAutoHideDockSite::CanAcceptPane Determina se um objeto de painel base é derivado da classe CMFCAutoHideBar.
CAutoHideDockSite::DockPane Encaixa um painel nesse objeto CAuotHideDockSite.
CAutoHideDockSite::GetAlignRect Recupera o tamanho do site de encaixe nas coordenadas da tela.
CAutoHideDockSite::RepositionPanes Redesenha o painel no CAutoHideDockSite com as margens globais e o espaçamento de botão.
CAutoHideDockSite::SetOffsetLeft Define a margem no lado esquerdo da barra de encaixe.
CAutoHideDockSite::SetOffsetRight Define a margem no lado direito da barra de encaixe.
CAutoHideDockSite::UnSetAutoHideMode Chama CMFCAutoHideBar::UnSetAutoHideMode para objetos no CAutoHideDockSite.

Membros de dados

Nome Descrição
Nome Descrição
CAutoHideDockSite::m_nExtraSpace Define o tamanho do espaço entre as barras de ferramentas e a borda da barra de encaixe. Esse espaço é medido da borda esquerda ou da borda superior, dependendo do alinhamento do espaço de encaixe.

Comentários

Quando você chama CFrameWndEx::EnableAutoHidePanes, a estrutura cria automaticamente um objeto CAutoHideDockSite. Na maioria dos casos, você não precisará instanciar ou usar essa classe diretamente.

A barra de encaixe é a lacuna entre o lado esquerdo do painel de encaixe e o lado esquerdo da Classe CMFCAutoHideButton.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CBasePane

CDockSite

Exemplo

O exemplo a seguir demonstra como recuperar um objeto CAutoHideDockSite de um objeto CMFCAutoHideBar e como definir as margens esquerda e direita da barra de encaixe.

CAutoHideDockSite *pParentDockBar = DYNAMIC_DOWNCAST(CAutoHideDockSite, pParentBar->GetParentDockSite());
pParentDockBar->SetOffsetLeft(10);
pParentDockBar->SetOffsetRight(10);

Requisitos

Header: afxautohidedocksite.h

CAutoHideDockSite::CanAcceptPane

Determina se um painel base é um objeto CMFCAutoHideBar ou derivado de CMFCAutoHideBar.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Parâmetros

pBar
[in] O painel base que a estrutura testa.

Valor de Devolução

TRUE se pBar for derivado de CMFCAutoHideBar; caso contrário, FALSE.

Comentários

Se um objeto de painel base for derivado de CMFCAutoHideBar, ele poderá conter um CAutoHideDockSite.

CAutoHideDockSite::DockPane

Encaixa um painel neste objeto CAutoHideDockSite.

virtual void DockPane(
    CPane* pWnd,
    AFX_DOCK_METHOD dockMethod,
    LPRECT lpRect = NULL);

Parâmetros

pWnd
[in] O painel que a estrutura encaixa.

dockMethod
[in] Opções de encaixe para o painel.

lpRect
[in] Um retângulo que especifica os limites do painel de encaixe.

Comentários

A implementação padrão não usa o parâmetro dockMethod, que é fornecido para uso futuro.

Se lpRect for NULL, a estrutura colocará o painel no local padrão no local de encaixe. Se o local de encaixe for horizontal, o local padrão será a extremidade esquerda do local de encaixe. Caso contrário, o local padrão será a parte superior do local de encaixe.

CAutoHideDockSite::GetAlignRect

Recupera o tamanho do site de encaixe nas coordenadas da tela.

void GetAlignRect(CRect& rect) const;

Parâmetros

rect
[in] Uma referência a um retângulo. O método armazena o tamanho do local de encaixe neste retângulo.

Comentários

O retângulo é ajustado para as margens de deslocamento para que elas não sejam incluídas.

CAutoHideDockSite::m_nExtraSpace

O tamanho do espaço entre as bordas da Classe CAutoHideDockSite e os objetos da Classe CMFCAutoHideBar.

static int m_nExtraSpace;

Comentários

Quando um CMFCAutoHideBar está encaixado em um CAutoHideDockSite, ele não deve ocupar todo o local de encaixe. Essa variável global controla o espaço extra entre a borda esquerda ou superior de CMFCAutoHideBar e a borda de CAutoHideDockSite correspondente. Se é a borda superior ou a borda esquerda que será usada depende do alinhamento atual.

CAutoHideDockSite::SetOffsetLeft

Define a margem no lado esquerdo da barra de encaixe.

void SetOffsetLeft(int nOffset);

Parâmetros

nOffset
[in] O novo deslocamento.

Comentários

Objetos CMFCAutoHideBar são posicionados estaticamente no objeto CAutoHideDockSite. Isso significa que o usuário não pode alterar manualmente o local dos objetos CMFCAutoHideBar. O método SetOffsetLeft controla o espaçamento entre o lado esquerdo do CMFCAutoHideBar mais à esquerda e o lado esquerdo do CAutoHideDockSite.

CAutoHideDockSite::SetOffsetRight

Define a margem no lado direito da barra de encaixe.

void SetOffsetRight(int nOffset);

Parâmetros

nOffset
[in] O novo deslocamento.

Comentários

Objetos CMFCAutoHideBar são posicionados estaticamente no objeto CAutoHideDockSite. Isso significa que o usuário não pode alterar manualmente o local dos objetos CMFCAutoHideBar. O método SetOffsetRight controla o espaçamento entre o lado direito do CMFCAutoHideBar mais à direita e o lado direito do CAutoHideDockSite.

CAutoHideDockSite::RepositionPanes

Redesenha os painéis no CAutoHideDockSite.

virtual void RepositionPanes(CRect& rectNewClientArea);

Parâmetros

rectNewClientArea
[in] Um valor reservado.

Comentários

A implementação padrão não usa rectNewClientArea. Ele redesenha os painéis com as margens da barra de ferramentas global e o espaçamento de botão.

CAutoHideDockSite::UnSetAutoHideMode

Chama CMFCAutoHideBar::UnSetAutoHideMode para objetos no local de encaixe.

void UnSetAutoHideMode(CMFCAutoHideBar* pAutoHideToolbar);

Parâmetros

pAutoHideToolbar
[in] Um ponteiro para um painel de objetos CMFCAutoHideBar localizado no CAutoHideDockSite.

Comentários

Esse método pesquisa a linha que contém pAutoHideToolbar. Ele chama CMFCAutoHideBar.UnSetAutoHideMode para todos os objetos CMFCAutoHideBar nessa linha. Se pAutoHideToolbar não for encontrado ou for NULL, esse método chamará CMFCAutoHideBar.UnSetAutoHideMode para todos os objetos CMFCAutoHideBar no CAutoHideDockSite.

Confira também

Gráfico da hierarquia
Classes
Classe CDockSite